As described in Chapter 1, Spring Integration Overview, there are three implementations of the
MessageEndpoint
interface: SourceEndpoint
,
TargetEndpoint
, and HandlerEndpoint
. These endpoints provide the
metadata necessary for the MessageBus
to manage Sources
,
Targets
, and MessageHandlers
respectively.
For a SourceEndpoint
, the MessageBus
schedules a task for
polling the Source
based on the provided schedule.
When a Target
or MessageHandler
is registered with
the MessageBus
, the bus assigns it to a dispatcher that polls a
MessageChannel
based on the provided schedule. Targets and handlers may also
provide concurrency settings in which case a thread pool will be created for asynchronous processing of messages.
Rather than programming to the API directly, it is simpler and more common to register sources, targets, and handlers with either XML or annotation-based metadata. Then, the message endpoint is an internal responsibility of the bus. The configuration options are discussed in detail in the section called “Configuring Message Endpoints”.