Files
spring-integration/src/reference/docbook/endpoint-summary.xml

233 lines
9.9 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<chapter xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="endpoint-summary"
xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Endpoint Quick Reference Table</title>
<para>
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.
</para>
<para>
To recap, <emphasis role="bold">Inbound Channel Adapters</emphasis> are used for one-way integration
bringing data into the messagng application. <emphasis role="bold">Outbound Channel Adapters</emphasis>
are used for one-way integration to send data out of the messaging application.
<emphasis role="bold">Inbound Gateways</emphasis> are used for a bidirectional integration flow where
some other system invokes the messaging application and receives a reply.
<emphasis role="bold">Outbound Gateways</emphasis> are used for a bidirectional integration flow where
the messaging application invokes some external service or entity, expecting a result.
</para>
<table id="endpoint-summary-tbl">
<tgroup cols="5">
<colspec colnum="1" colname="col1" colwidth="1*"/>
<colspec colnum="2" colname="col2" colwidth="1*"/>
<colspec colnum="3" colname="col3" colwidth="1*"/>
<colspec colnum="4" colname="col4" colwidth="1*"/>
<colspec colnum="5" colname="col5"/>
<thead>
<row>
<entry align="center">Module</entry>
<entry align="center">Inbound Adapter</entry>
<entry align="center">Outbound Adapter</entry>
<entry align="center">Inbound Gateway</entry>
<entry align="center">Outbound Gateway</entry>
</row>
</thead>
<tbody>
<row>
<entry><emphasis role="bold">AMQP</emphasis></entry>
<entry><xref linkend="amqp-inbound-channel-adapter" /></entry>
<entry><xref linkend="amqp-outbound-channel-adapter" /></entry>
<entry><xref linkend="amqp-inbound-gateway" /></entry>
<entry><xref linkend="amqp-outbound-gateway" /></entry>
</row>
<row>
<entry><emphasis role="bold">Events</emphasis></entry>
<entry><xref linkend="applicationevent-inbound" /></entry>
<entry><xref linkend="applicationevent-outbound" /></entry>
<entry>N</entry>
<entry>N</entry>
</row>
<row>
<entry><emphasis role="bold">Feed</emphasis></entry>
<entry><xref linkend="feed-inbound-channel-adapter" /></entry>
<entry>N</entry>
<entry>N</entry>
<entry>N</entry>
</row>
<row>
<entry><emphasis role="bold">File</emphasis></entry>
<entry><xref linkend="file-reading" /> and <xref linkend="file-tailing" /></entry>
<entry><xref linkend="file-writing" /></entry>
<entry>N</entry>
<entry><xref linkend="file-writing" /></entry>
</row>
<row>
<entry><emphasis role="bold">FTP(S)</emphasis></entry>
<entry><xref linkend="ftp-inbound" /></entry>
<entry><xref linkend="ftp-outbound" /></entry>
<entry>N</entry>
<entry><xref linkend="ftp-outbound-gateway" /></entry>
</row>
<row>
<entry><emphasis role="bold">Gemfire</emphasis></entry>
<entry><xref linkend="gemfire-inbound" /> and <xref linkend="gemfire-cq" /></entry>
<entry><xref linkend="gemfire-outbound" /></entry>
<entry>N</entry>
<entry>N</entry>
</row>
<row>
<entry><emphasis role="bold">HTTP</emphasis></entry>
<entry><xref linkend="http-namespace" /></entry>
<entry><xref linkend="http-namespace" /></entry>
<entry><xref linkend="http-inbound" /></entry>
<entry><xref linkend="http-outbound" /></entry>
</row>
<row>
<entry><emphasis role="bold">JDBC</emphasis></entry>
<entry><xref linkend="jdbc-inbound-channel-adapter" /> and <xref linkend="stored-procedure-inbound-channel-adapter" /></entry>
<entry><xref linkend="jdbc-outbound-channel-adapter" /> and <xref linkend="stored-procedure-outbound-channel-adapter" /></entry>
<entry>N</entry>
<entry><xref linkend="jdbc-outbound-gateway" /> and <xref linkend="stored-procedure-outbound-gateway" /></entry>
</row>
<row>
<entry><emphasis role="bold">JMS</emphasis></entry>
<entry><xref linkend="jms-inbound-channel-adapter" /> and <xref linkend="jms-message-driven-channel-adapter" /></entry>
<entry><xref linkend="jms-outbound-channel-adapter" /></entry>
<entry><xref linkend="jms-inbound-gateway" /></entry>
<entry><xref linkend="jms-outbound-gateway" /></entry>
</row>
<row>
<entry><emphasis role="bold">JMX</emphasis></entry>
<entry><xref linkend="jmx-notification-listening-channel-adapter" /> and
<xref linkend="jmx-attribute-polling-channel-adapter" /> and
<xref linkend="tree-polling-channel-adapter" /></entry>
<entry><xref linkend="jmx-notification-publishing-channel-adapter" /> and
<xref linkend="jmx-operation-invoking-channel-adapter" /></entry>
<entry>N</entry>
<entry><xref linkend="jmx-operation-invoking-outbound-gateway" /></entry>
</row>
<row>
<entry><emphasis role="bold">JPA</emphasis></entry>
<entry><xref linkend="jpa-inbound-channel-adapter" /></entry>
<entry><xref linkend="jpa-outbound-channel-adapter" /></entry>
<entry>N</entry>
<entry><xref linkend="jpa-updating-outbound-gateway" /> and <xref linkend="jpa-retrieving-outbound-gateway" /></entry>
</row>
<row>
<entry><emphasis role="bold">Mail</emphasis></entry>
<entry><xref linkend="mail-inbound" /></entry>
<entry><xref linkend="mail-outbound" /></entry>
<entry>N</entry>
<entry>N</entry>
</row>
<row>
<entry><emphasis role="bold">MongoDB</emphasis></entry>
<entry><xref linkend="mongodb-inbound-channel-adapter" /></entry>
<entry><xref linkend="mongodb-outbound-channel-adapter" /></entry>
<entry>N</entry>
<entry>N</entry>
</row>
<row>
<entry><emphasis role="bold">MQTT</emphasis></entry>
<entry><xref linkend="mqtt-inbound" /></entry>
<entry><xref linkend="mqtt-outbound" /></entry>
<entry>N</entry>
<entry>N</entry>
</row>
<row>
<entry><emphasis role="bold">Redis</emphasis></entry>
<entry><xref linkend="redis-inbound-channel-adapter" /> and
<xref linkend="redis-queue-inbound-channel-adapter" /> and
<xref linkend="redis-store-inbound-channel-adapter" /></entry>
<entry><xref linkend="redis-outbound-channel-adapter" /> and
<xref linkend="redis-queue-outbound-channel-adapter" /> and
<xref linkend="redis-store-outbound-channel-adapter" /></entry>
<entry>N</entry>
<entry><xref linkend="redis-outbound-gateway" /></entry>
</row>
<row>
<entry><emphasis role="bold">Resource</emphasis></entry>
<entry><xref linkend="resource-inbound-channel-adapter" /></entry>
<entry>N</entry>
<entry>N</entry>
<entry>N</entry>
</row>
<row>
<entry><emphasis role="bold">RMI</emphasis></entry>
<entry>N</entry>
<entry>N</entry>
<entry><xref linkend="rmi-inbound" /></entry>
<entry><xref linkend="rmi-outbound" /></entry>
</row>
<row>
<entry><emphasis role="bold">SFTP</emphasis></entry>
<entry><xref linkend="sftp-inbound" /></entry>
<entry><xref linkend="sftp-outbound" /></entry>
<entry>N</entry>
<entry><xref linkend="sftp-outbound-gateway" /></entry>
</row>
<row>
<entry><emphasis role="bold">Stream</emphasis></entry>
<entry><xref linkend="stream-reading" /></entry>
<entry><xref linkend="stream-writing" /></entry>
<entry>N</entry>
<entry>N</entry>
</row>
<row>
<entry><emphasis role="bold">Syslog</emphasis></entry>
<entry><xref linkend="syslog-inbound-adapter" /></entry>
<entry>N</entry>
<entry>N</entry>
<entry>N</entry>
</row>
<row>
<entry><emphasis role="bold">TCP</emphasis></entry>
<entry><xref linkend="tcp-adapters" /></entry>
<entry><xref linkend="tcp-adapters" /></entry>
<entry><xref linkend="tcp-gateways" /></entry>
<entry><xref linkend="tcp-gateways" /></entry>
</row>
<row>
<entry><emphasis role="bold">Twitter</emphasis></entry>
<entry><xref linkend="twitter-inbound" /></entry>
<entry><xref linkend="twitter-outbound" /></entry>
<entry>N</entry>
<entry><xref linkend="twitter-sog" /></entry>
</row>
<row>
<entry><emphasis role="bold">UDP</emphasis></entry>
<entry><xref linkend="udp-adapters" /></entry>
<entry><xref linkend="udp-adapters" /></entry>
<entry>N</entry>
<entry>N</entry>
</row>
<row>
<entry><emphasis role="bold">Web Services</emphasis></entry>
<entry>N</entry>
<entry>N</entry>
<entry><xref linkend="webservices-inbound" /></entry>
<entry><xref linkend="webservices-outbound" /></entry>
</row>
<row>
<entry><emphasis role="bold">XMPP</emphasis></entry>
<entry><xref linkend="xmpp-messages" /> and <xref linkend="xmpp-presence" /></entry>
<entry><xref linkend="xmpp-messages" /> and <xref linkend="xmpp-presence" /></entry>
<entry>N</entry>
<entry>N</entry>
</row>
</tbody>
</tgroup>
</table>
<para>
In addition, as discussed in <xref linkend="spring-integration-core-messaging" />, endpoints are provided
for interfacing with Plain Old Java Objects
(POJOs). As discussed in <xref linkend="channel-adapter" />, the <code>&lt;int:inbound-channel-adapter&gt;</code>
allows polling a java method for data; the
<code>&lt;int:outbound-channel-adapter&gt;</code> allows sending data to a <code>void</code> method, and
as discussed in <xref linkend="gateway" />, the <code>&lt;int:gateway&gt;</code> 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
<xref linkend="service-activator" /> to invoke a method that returns an Object of some kind.
</para>
</chapter>