A well-designed messaging application separates business logic from integration details. The application code concentrates on implementing the business logic. The connection mechanism, the message sending and receiving and other aspects of messaging are hidden from the application. It would be a good design to implement them using declarative programming so the program behavior can be altered based on the changing needs of the business.
Message Endpoints are components that separate business logic from the messaging framework. They are crucial in the integration space for hiding the messaging details. They are responsible for connecting application components to the messaging channels to send or receive messages.
Spring Integration provides endpoints such as Service Activators, Channel Adapters, Message Bridges, Gateways, Transformers, Filters, and Routers. This chapter introduces common endpoints such as Service Activators, Channel Adapters, Message Bridges, and Gateways, while the following chapters discuss Transformers, Filters, Aggregators, Routers, and the rest.
If you are interested in the framework’s classes designed to create these endpoints, then you should read the For the Curious: Endpoint API section at the end of this chapter. It discusses in detail the inner workings of these endpoints. Note that you will not be required to use these API classes in your code. You should use the declarative model and appropriate namespaces to configure these endpoints.