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 22.3.2, “Redis Inbound Channel Adapter” and Section 22.3.4, “Redis Queue Inbound Channel Adapter” and Section 22.6, “RedisStore Inbound Channel Adapter”Section 22.3.3, “Redis Outbound Channel Adapter” and Section 22.3.5, “Redis Queue Outbound Channel Adapter” and Section 22.7, “RedisStore Outbound Channel Adapter”NN
ResourceSection 23.2, “Resource Inbound Channel Adapter”NNN
RMINNSection 24.3, “Inbound RMI”Section 24.2, “Outbound RMI”
SFTPSection 25.5, “SFTP Inbound Channel Adapter”Section 25.6, “SFTP Outbound Channel Adapter”NSection 25.7, “SFTP Outbound Gateway”
StreamSection 26.2, “Reading from streams”Section 26.3, “Writing to streams”NN
SyslogSection 27.2, “Syslog <inbound-channel-adapter>”NNN
TCPSection 28.6, “TCP Adapters”Section 28.6, “TCP Adapters”Section 28.7, “TCP Gateways”Section 28.7, “TCP Gateways”
TwitterSection 29.4, “Twitter Inbound Adapters”Section 29.5, “Twitter Outbound Adapter”NN
UDPSection 28.2, “UDP Adapters”Section 28.2, “UDP Adapters”NN
Web ServicesNNSection 30.2, “Inbound Web Service Gateways”Section 30.1, “Outbound Web Service Gateways”
XMPPSection 32.3, “XMPP Messages” and Section 32.4, “XMPP Presence”Section 32.3, “XMPP Messages” and Section 32.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.