10. Endpoint Quick Reference Table
As discussed in the sections above, Spring Integration provides a number of endpoints used to interface with external systems, file systems etc.
The following is a summary of the various endpoints with quick links to the appropriate chapter.
To recap, Inbound Channel Adapters are used for one-way integration bringing 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, expecting a result.
Table 10.1. Endpoint Quick Reference
Module | Inbound Adapter | Outbound Adapter | Inbound Gateway | Outbound Gateway |
---|
AMQP | Section 11.2, “Inbound Channel Adapter” | Section 11.5, “Outbound Channel Adapter” | Section 11.3, “Inbound Gateway” | Section 11.6, “Outbound Gateway” |
Events | Section 12.1, “Receiving Spring Application Events” | Section 12.2, “Sending Spring Application Events” | N | N |
Feed | Section 13.2, “Feed Inbound Channel Adapter” | N | N | N |
File | Section 14.2, “Reading Files” and Section 14.2.6, “'Tail’ing Files” | Section 14.3, “Writing files” | N | Section 14.3, “Writing files” |
FTP(S) | Section 15.4, “FTP Inbound Channel Adapter” | Section 15.5, “FTP Outbound Channel Adapter” | N | Section 15.6, “FTP Outbound Gateway” |
Gemfire | Section 16.2, “Inbound Channel Adapter” and Section 16.3, “Continuous Query Inbound Channel Adapter” | Section 16.4, “Outbound Channel Adapter” | N | N |
HTTP | Section 17.4, “HTTP Namespace Support” | Section 17.4, “HTTP Namespace Support” | Section 17.2, “Http Inbound Components” | Section 17.3, “Http Outbound Components” |
JDBC | Section 18.1, “Inbound Channel Adapter” and Section 18.5.6, “Stored Procedure Inbound Channel Adapter” | Section 18.2, “Outbound Channel Adapter” and Section 18.5.7, “Stored Procedure Outbound Channel Adapter” | N | Section 18.3, “Outbound Gateway” and Section 18.5.8, “Stored Procedure Outbound Gateway” |
JMS | Section 20.1, “Inbound Channel Adapter” and Section 20.2, “Message-Driven Channel Adapter” | Section 20.3, “Outbound Channel Adapter” | Section 20.4, “Inbound Gateway” | Section 20.5, “Outbound Gateway” |
JMX | Section 9.2.1, “Notification Listening Channel Adapter” and Section 9.2.3, “Attribute Polling Channel Adapter” and Section 9.2.4, “Tree Polling Channel Adapter” | Section 9.2.2, “Notification Publishing Channel Adapter” and Section 9.2.5, “Operation Invoking Channel Adapter” | N | Section 9.2.6, “Operation Invoking Outbound Gateway” |
JPA | Section 19.4, “Inbound Channel Adapter” | Section 19.5, “Outbound Channel Adapter” | N | Section 19.6.2, “Updating Outbound Gateway” and Section 19.6.3, “Retrieving Outbound Gateway” |
Mail | Section 21.2, “Mail-Receiving Channel Adapter” | Section 21.1, “Mail-Sending Channel Adapter” | N | N |
MongoDB | Section 22.4, “MongoDB Inbound Channel Adapter” | Section 22.5, “MongoDB Outbound Channel Adapter” | N | N |
MQTT | Section 23.2, “Inbound (message-driven) Channel Adapter” | Section 23.3, “Outbound Channel Adapter” | N | N |
Redis | Section 24.3.2, “Redis Inbound Channel Adapter” and Section 24.3.4, “Redis Queue Inbound Channel Adapter” and Section 24.6, “RedisStore Inbound Channel Adapter” | Section 24.3.3, “Redis Outbound Channel Adapter” and Section 24.3.5, “Redis Queue Outbound Channel Adapter” and Section 24.7, “RedisStore Outbound Channel Adapter” | Section 24.10, “Redis Queue Inbound Gateway” | Section 24.8, “Redis Outbound Command Gateway” and Section 24.9, “Redis Queue Outbound Gateway” |
Resource | Section 25.2, “Resource Inbound Channel Adapter” | N | N | N |
RMI | N | N | Section 26.3, “Inbound RMI” | Section 26.2, “Outbound RMI” |
SFTP | Section 27.6, “SFTP Inbound Channel Adapter” | Section 27.7, “SFTP Outbound Channel Adapter” | N | Section 27.8, “SFTP Outbound Gateway” |
Stream | Section 29.2, “Reading from streams” | Section 29.3, “Writing to streams” | N | N |
Syslog | Section 30.2, “Syslog <inbound-channel-adapter>” | N | N | N |
TCP | Section 31.6, “TCP Adapters” | Section 31.6, “TCP Adapters” | Section 31.7, “TCP Gateways” | Section 31.7, “TCP Gateways” |
Twitter | Section 32.4, “Twitter Inbound Adapters” | Section 32.5, “Twitter Outbound Adapter” | N | Section 32.6, “Twitter Search Outbound Gateway” |
UDP | Section 31.2, “UDP Adapters” | Section 31.2, “UDP Adapters” | N | N |
Web Services | N | N | Section 34.2, “Inbound Web Service Gateways” | Section 34.1, “Outbound Web Service Gateways” |
Web Sockets | Section 33.3, “WebSocket Inbound Channel Adapter” | Section 33.4, “WebSocket Outbound Channel Adapter” | N | N |
XMPP | Section 36.3, “XMPP Messages” and Section 36.4, “XMPP Presence” | Section 36.3, “XMPP Messages” and Section 36.4, “XMPP Presence” | N | N |
In addition, as discussed in Part IV, “Core Messaging”, endpoints are provided for interfacing with Plain Old Java Objects (POJOs).
As discussed in Section 4.3, “Channel Adapter”, the <int:inbound-channel-adapter>
allows polling a java method for data; the <int:outbound-channel-adapter>
allows sending data to a void
method, and as discussed in Section 8.3, “Messaging Gateways”, the <int:gateway>
allows any Java program to invoke a messaging flow.
Each of these without requiring any source level dependencies on Spring Integration.
The equivalent of an outbound gateway in this context would be to use a Section 8.4, “Service Activator” to invoke a method that returns an Object of some kind.