9. 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 messagng 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 9.1. 

ModuleInbound AdapterOutbound AdapterInbound GatewayOutbound Gateway
AMQPSection 10.2, “Inbound Channel Adapter”Section 10.3, “Outbound Channel Adapter”Section 10.4, “Inbound Gateway”Section 10.5, “Outbound Gateway”
EventsSection 11.1, “Receiving Spring ApplicationEvents”Section 11.2, “Sending Spring ApplicationEvents”NN
FeedSection 12.2, “Feed Inbound Channel Adapter”NNN
FileSection 13.2, “Reading Files” and Section 13.2.1, “'Tail'ing Files”Section 13.3, “Writing files”NSection 13.3, “Writing files”
FTP(S)Section 14.3, “FTP Inbound Channel Adapter”Section 14.4, “FTP Outbound Channel Adapter”NSection 14.5, “FTP Outbound Gateway”
GemfireSection 15.2, “Inbound Channel Adapter” and Section 15.3, “Continuous Query Inbound Channel Adapter”Section 15.4, “Outbound Channel Adapter”NN
HTTPSection 16.4, “HTTP Namespace Support”Section 16.4, “HTTP Namespace Support”Section 16.2, “Http Inbound Gateway”Section 16.3, “Http Outbound Gateway”
JDBCSection 17.1, “Inbound Channel Adapter” and Section 17.5.6, “Stored Procedure Inbound Channel Adapter”Section 17.2, “Outbound Channel Adapter” and Section 17.5.7, “Stored Procedure Outbound Channel Adapter”NSection 17.3, “Outbound Gateway” and Section 17.5.8, “Stored Procedure Outbound Gateway”
JMSSection 19.1, “Inbound Channel Adapter” and Section 19.2, “Message-Driven Channel Adapter”Section 19.3, “Outbound Channel Adapter”Section 19.4, “Inbound Gateway”Section 19.5, “Outbound Gateway”
JMXSection 8.1.1, “Notification Listening Channel Adapter” and Section 8.1.3, “Attribute Polling Channel Adapter” and Section 8.1.4, “Tree Polling Channel Adapter”Section 8.1.2, “Notification Publishing Channel Adapter” and Section 8.1.5, “Operation Invoking Channel Adapter”NSection 8.1.6, “Operation Invoking Outbound Gateway”
JPASection 18.4, “Inbound Channel Adapter”Section 18.5, “Outbound Channel Adapter”NSection 18.6.2, “Updating Outbound Gateway” and Section 18.6.3, “Retrieving Outbound Gateway”
MailSection 20.2, “Mail-Receiving Channel Adapter”Section 20.1, “Mail-Sending Channel Adapter”NN
MongoDBSection 21.4, “MongoDB Inbound Channel Adapter”Section 21.5, “MongoDB Outbound Channel Adapter”NN
RedisSection 23.3.2, “Redis Inbound Channel Adapter” and Section 23.3.4, “Redis Queue Inbound Channel Adapter” and Section 23.6, “RedisStore Inbound Channel Adapter”Section 23.3.3, “Redis Outbound Channel Adapter” and Section 23.3.5, “Redis Queue Outbound Channel Adapter” and Section 23.7, “RedisStore Outbound Channel Adapter”NN
ResourceSection 24.2, “Resource Inbound Channel Adapter”NNN
RMINNSection 25.3, “Inbound RMI”Section 25.2, “Outbound RMI”
SFTPSection 26.5, “SFTP Inbound Channel Adapter”Section 26.6, “SFTP Outbound Channel Adapter”NSection 26.7, “SFTP Outbound Gateway”
StreamSection 27.2, “Reading from streams”Section 27.3, “Writing to streams”NN
SyslogSection 28.2, “Syslog <inbound-channel-adapter>”NNN
TCPSection 29.6, “TCP Adapters”Section 29.6, “TCP Adapters”Section 29.7, “TCP Gateways”Section 29.7, “TCP Gateways”
TwitterSection 30.4, “Twitter Inbound Adapters”Section 30.5, “Twitter Outbound Adapter”NN
UDPSection 29.2, “UDP Adapters”Section 29.2, “UDP Adapters”NN
Web ServicesNNSection 31.2, “Inbound Web Service Gateways”Section 31.1, “Outbound Web Service Gateways”
XMPPSection 33.3, “XMPP Messages” and Section 33.4, “XMPP Presence”Section 33.3, “XMPP Messages” and Section 33.4, “XMPP Presence”NN

In addition, as discussed in Part III, “Core Messaging”, endpoints are provided for interfacing with Plain Old Java Objects (POJOs). As discussed in Section 3.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 7.2, “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 7.3, “Service Activator” to invoke a method that returns an Object of some kind.