13. Endpoint Quick Reference Table
As discussed in the earlier sections, Spring Integration provides a number of endpoints used to interface with external systems, file systems, and others.
For transparent dependency management Spring Integration provides a bill-of-materials POM to be imported into the Maven configuration:
To recap:
-
Inbound channel adapters are used for one-way integration to bring data into the messaging application.
-
Outbound channel adapters are used for one-way integration to send data out of the messaging application.
-
Inbound gateways are used for a bidirectional integration flow, where some other system invokes the messaging application and receives a reply.
-
Outbound Gateways are used for a bidirectional integration flow, where the messaging application invokes some external service or entity and expects a result.
The following table summarizes the various endpoints with quick links to the appropriate chapter.
Table 13.1. Endpoint Quick Reference
Module | Inbound Adapter | Outbound Adapter | Inbound Gateway | Outbound Gateway |
---|
AMQP | Section 14.1, “Inbound Channel Adapter” | Section 14.5, “Outbound Channel Adapter” | Section 14.3, “Inbound Gateway” | Section 14.6, “Outbound Gateway” |
Events | Section 15.1, “Receiving Spring Application Events” | Section 15.2, “Sending Spring Application Events” | N | N |
Feed | Section 16.1, “Feed Inbound Channel Adapter” | N | N | N |
File | Section 17.1, “Reading Files” and Section 17.1.8, “'tail’ing Files” | Section 17.2, “Writing files” | N | Section 17.2, “Writing files” |
FTP(S) | Section 18.4, “FTP Inbound Channel Adapter” | Section 18.8, “FTP Outbound Channel Adapter” | N | Section 18.9, “FTP Outbound Gateway” |
Gemfire | Section 19.1, “Inbound Channel Adapter” and Section 19.2, “Continuous Query Inbound Channel Adapter” | Section 19.3, “Outbound Channel Adapter” | N | N |
HTTP | Section 20.3, “HTTP Namespace Support” | Section 20.3, “HTTP Namespace Support” | Section 20.1, “Http Inbound Components” | Section 20.2, “HTTP Outbound Components” |
JDBC | Section 21.1, “Inbound Channel Adapter” and Section 21.5.6, “Stored Procedure Inbound Channel Adapter” | Section 21.2, “Outbound Channel Adapter” and Section 21.5.7, “Stored Procedure Outbound Channel Adapter” | N | Section 21.3, “Outbound Gateway” and Section 21.5.8, “Stored Procedure Outbound Gateway” |
JMS | Section 23.1, “Inbound Channel Adapter” and Section 23.2, “Message-driven Channel Adapter” | Section 23.3, “Outbound Channel Adapter” | Section 23.4, “Inbound Gateway” | Section 23.5, “Outbound Gateway” |
JMX | Section 12.2.1, “Notification-listening Channel Adapter” and Section 12.2.3, “Attribute-polling Channel Adapter” and Section 12.2.4, “Tree-polling Channel Adapter” | Section 12.2.2, “Notification-publishing Channel Adapter” and Section 12.2.5, “Operation-invoking Channel Adapter” | N | Section 12.2.6, “Operation-invoking Outbound Gateway” |
JPA | Section 22.5, “Inbound Channel Adapter” | Section 22.6, “Outbound Channel Adapter” | N | Section 22.7.2, “Updating Outbound Gateway” and Section 22.7.5, “Retrieving Outbound Gateway” |
Mail | Section 24.2, “Mail-receiving Channel Adapter” | Section 24.1, “Mail-sending Channel Adapter” | N | N |
MongoDB | Section 25.3, “MongoDB Inbound Channel Adapter” | Section 25.4, “MongoDB Outbound Channel Adapter” | N | N |
MQTT | Section 26.1, “Inbound (Message-driven) Channel Adapter” | Section 26.2, “Outbound Channel Adapter” | N | N |
Redis | Section 27.2.2, “Redis Inbound Channel Adapter” and Section 27.2.4, “Redis Queue Inbound Channel Adapter” and Section 27.5, “Redis Store Inbound Channel Adapter” | Section 27.2.3, “Redis Outbound Channel Adapter” and Section 27.2.5, “Redis Queue Outbound Channel Adapter” and Section 27.6, “RedisStore Outbound Channel Adapter” | Section 27.9, “Redis Queue Inbound Gateway” | Section 27.7, “Redis Outbound Command Gateway” and Section 27.8, “Redis Queue Outbound Gateway” |
Resource | Section 28.1, “Resource Inbound Channel Adapter” | N | N | N |
RMI | N | N | Section 29.2, “Inbound RMI” | Section 29.1, “Outbound RMI” |
SFTP | Section 30.6, “SFTP Inbound Channel Adapter” | Section 30.10, “SFTP Outbound Channel Adapter” | N | Section 30.11, “SFTP Outbound Gateway” |
STOMP | Section 31.2, “STOMP Inbound Channel Adapter” | Section 31.3, “STOMP Outbound Channel Adapter” | N | N |
Stream | Section 32.1, “Reading from Streams” | Section 32.2, “Writing to Streams” | N | N |
Syslog | Section 33.1, “Syslog Inbound Channel Adapter” | N | N | N |
TCP | Section 34.6, “TCP Adapters” | Section 34.6, “TCP Adapters” | Section 34.7, “TCP Gateways” | Section 34.7, “TCP Gateways” |
UDP | Section 34.2, “UDP Adapters” | Section 34.2, “UDP Adapters” | N | N |
Web Services | N | N | Section 37.2, “Inbound Web Service Gateways” | Section 37.1, “Outbound Web Service Gateways” |
Web Sockets | Section 36.2, “WebSocket Inbound Channel Adapter” | Section 36.3, “WebSocket Outbound Channel Adapter” | N | N |
XMPP | Section 39.2, “XMPP Messages” and Section 39.3, “XMPP Presence” | Section 39.2, “XMPP Messages” and Section 39.3, “XMPP Presence” | N | N |
In addition, as discussed in Part IV, “Core Messaging”, Spring Integration provides endpoints for interfacing with Plain Old Java Objects (POJOs).
As discussed in Section 6.3, “Channel Adapter”, the <int:inbound-channel-adapter>
element lets you poll a Java method for data.
The <int:outbound-channel-adapter>
element lets you send data to a void
method.
As discussed in Section 10.4, “Messaging Gateways”, the <int:gateway>
element lets any Java program invoke a messaging flow.
Each of these works without requiring any source-level dependencies on Spring Integration.
The equivalent of an outbound gateway in this context is using a service activator (see Section 10.5, “Service Activator”) to invoke a method that returns an Object
of some kind.