An application needs to consume Messages, but it wants to control when it consumes each message.
How can an application consume a message when the application is ready?
The application should use a Polling Consumer, one that explicitly makes a call when it wants to receive a message.
This is also known as a synchronous receiver, because the receiver thread blocks until a message is received. We call it a Polling Consumer because the receiver polls for a message, processes it, then polls for another. As a convenience, messaging API’s usually provide a receive method that blocks until a message is delivered, in addition to methods like receiveNoWait() and Receive(0) that return immediately if no message is available. This difference is only apparent when the receiver is polling faster than messages are arriving.
... Read the entire pattern in the book Enterprise Integration Patterns
Related patterns: Competing Consumers, Durable Subscriber, Event-Driven Consumer, Message, Message Dispatcher, Selective Consumer, Transactional Client
You can reuse the following elements under the Creative Commons Attribution license: pattern icon, pattern name, problem and solution statements (in bold), and the sketch. Other portions are protected by copyright.
Enterprise Integration Patterns
The classic, as relevant as ever. Over 90,000 copies sold.
The Software Architect Elevator
Learn how architects can play a critical role in IT transformation by applying their technical, communication, and organizational skills.
Fill the large gap between high-level goals and product details by understanding decision trade-offs.