The polling consumer pattern, shown in Figure 9.2, is a pattern for implementing the consumer endpoint in a Fuse Mediation Router component, so it is only relevant to programmers who need to develop a custom component in Fuse Mediation Router. Existing components already have a consumer implementation pattern hard-wired into them.
Consumers that conform to this pattern expose polling methods, receive()
,
receive(long timeout)
, and receiveNoWait()
that return a new
exchange object, if one is available from the monitored resource. A polling consumer
implementation must provide its own thread pool to perform the polling.
For more details about this implementation pattern, see Consumer Patterns and Threading in Programing EIP Components, Consumer Interface in Programing EIP Components, and Using the Consumer Template in Programing EIP Components.
Many of the Fuse Mediation Router consumer endpoints employ a scheduled poll pattern to receive messages at the start of a route. That is, the endpoint appears to implement an event-driven consumer interface, but internally a scheduled poll is used to monitor a resource that provides the incoming messages for the endpoint.
See Implementing the Consumer Interface in Programing EIP Components for details of how to implement this pattern.
You can use the quartz component to provide scheduled delivery of messages using the Quartz enterprise scheduler. See Quartz in EIP Component Reference and Quartz Component for details.