Files
spring-integration/src/reference/asciidoc/endpoint-summary.adoc
Artem Bilan 4bb23e2e6e INT-4459: Mention dependencies in the Docs (#2610)
* INT-4459: Mention dependencies in the Docs

JIRA: https://jira.spring.io/browse/INT-4459

* Explicitly say what Spring Integration dependency must be included
into the target project for particular protocol components

* * Fix code block wrapping in the `endpoint-summary.adoc`
2018-10-25 13:26:51 -04:00

207 lines
5.0 KiB
Plaintext

[[endpoint-summary]]
== 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:
====
[source, xml, subs="normal"]
----
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.integration</groupId>
<artifactId>spring-integration-bom</artifactId>
<version>{project-version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
----
====
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.
.Endpoint Quick Reference
[cols="1,1,1,1,1", options="header"]
|===
| Module
| Inbound Adapter
| Outbound Adapter
| Inbound Gateway
| Outbound Gateway
| *AMQP*
| <<amqp-inbound-channel-adapter>>
| <<amqp-outbound-channel-adapter>>
| <<amqp-inbound-gateway>>
| <<amqp-outbound-gateway>>
| *Events*
| <<appevent-inbound>>
| <<appevent-outbound>>
| N
| N
| *Feed*
| <<feed-inbound-channel-adapter>>
| N
| N
| N
| *File*
| <<file-reading>> and <<file-tailing>>
| <<file-writing>>
| N
| <<file-writing>>
| *FTP(S)*
| <<ftp-inbound>>
| <<ftp-outbound>>
| N
| <<ftp-outbound-gateway>>
| *Gemfire*
| <<gemfire-inbound>> and <<gemfire-cq>>
| <<gemfire-outbound>>
| N
| N
| *HTTP*
| <<http-namespace>>
| <<http-namespace>>
| <<http-inbound>>
| <<http-outbound>>
| *JDBC*
| <<jdbc-inbound-channel-adapter>> and <<stored-procedure-inbound-channel-adapter>>
| <<jdbc-outbound-channel-adapter>> and <<stored-procedure-outbound-channel-adapter>>
| N
| <<jdbc-outbound-gateway>> and <<stored-procedure-outbound-gateway>>
| *JMS*
| <<jms-inbound-channel-adapter>> and <<jms-message-driven-channel-adapter>>
| <<jms-outbound-channel-adapter>>
| <<jms-inbound-gateway>>
| <<jms-outbound-gateway>>
| *JMX*
| <<jmx-notification-listening-channel-adapter>> and <<jmx-attribute-polling-channel-adapter>> and <<tree-polling-channel-adapter>>
| <<jmx-notification-publishing-channel-adapter>> and <<jmx-operation-invoking-channel-adapter>>
| N
| <<jmx-operation-invoking-outbound-gateway>>
| *JPA*
| <<jpa-inbound-channel-adapter>>
| <<jpa-outbound-channel-adapter>>
| N
| <<jpa-updating-outbound-gateway>> and <<jpa-retrieving-outbound-gateway>>
| *Mail*
| <<mail-inbound>>
| <<mail-outbound>>
| N
| N
| *MongoDB*
| <<mongodb-inbound-channel-adapter>>
| <<mongodb-outbound-channel-adapter>>
| N
| N
| *MQTT*
| <<mqtt-inbound>>
| <<mqtt-outbound>>
| N
| N
| *Redis*
| <<redis-inbound-channel-adapter>> and <<redis-queue-inbound-channel-adapter>> and <<redis-store-inbound-channel-adapter>>
| <<redis-outbound-channel-adapter>> and <<redis-queue-outbound-channel-adapter>> and <<redis-store-outbound-channel-adapter>>
| <<redis-queue-inbound-gateway>>
| <<redis-outbound-gateway>> and <<redis-queue-outbound-gateway>>
| *Resource*
| <<resource-inbound-channel-adapter>>
| N
| N
| N
| *RMI*
| N
| N
| <<rmi-inbound>>
| <<rmi-outbound>>
| *SFTP*
| <<sftp-inbound>>
| <<sftp-outbound>>
| N
| <<sftp-outbound-gateway>>
| *STOMP*
| <<stomp-inbound-adapter>>
| <<stomp-outbound-adapter>>
| N
| N
| *Stream*
| <<stream-reading>>
| <<stream-writing>>
| N
| N
| *Syslog*
| <<syslog-inbound-adapter>>
| N
| N
| N
| *TCP*
| <<tcp-adapters>>
| <<tcp-adapters>>
| <<tcp-gateways>>
| <<tcp-gateways>>
| *UDP*
| <<udp-adapters>>
| <<udp-adapters>>
| N
| N
| *Web Services*
| N
| N
| <<webservices-inbound>>
| <<webservices-outbound>>
| *Web Sockets*
| <<web-socket-inbound-adapter>>
| <<web-socket-outbound-adapter>>
| N
| N
| *XMPP*
| <<xmpp-messages>> and <<xmpp-presence>>
| <<xmpp-messages>> and <<xmpp-presence>>
| N
| N
|===
In addition, as discussed in <<spring-integration-core-messaging>>, Spring Integration provides endpoints for interfacing with Plain Old Java Objects (POJOs).
As discussed in <<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 <<gateway>>, 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 <<service-activator>>) to invoke a method that returns an `Object` of some kind.