Endpoints are basically components that consume messages from an input channel and deliver to an output channel. They may only consume messages from an input channel or only produce messages to an output channel. They are the crucial pieces that combine our business logic with integration specifications. The message endpoints are created declaratively so that applications concentrate on their business logic alone.
The Framework provides several out-of-the-box endpoints such as Transformers, Splitters, Filters, Routers, etc. It also provides endpoints (adapters) that connect to external systems like JMS, FTP, JDBC, Twitter, etc. You can also extend and create an Endpoint if you have a new requirement for an adapter fetching data from the moon.
We will be discussing the endpoints in later chapters, but if you are eager to see endpoints in action, here’s an example of declaring a Service Activator endpoint.
A Service Activator is a generic endpoint that invokes a method on a bean when a message arrives at an input channel. Declaration of the endpoint is shown in the following snippet:
<int:service-activator input-channel="positions-channel" ref="newPositionProcessor" method="processNewPosition"> </int:service-activator> // bean to be invoked <bean id="newPositionProcessor" class="com.madhusudhan.jsi.basics.NewPositionProcessor" />
picks up a message as soon as it arrives on the
positions-channel and calls the