This version is still in development and is not considered stable yet. For the latest stable version, please use Spring Integration 6.4.0!spring-doc.cn

Integration Endpoints

This section covers the various channel adapters and messaging gateways provided by Spring Integration to support message-based communication with external systems.spring-doc.cn

Each system, from AMQP to Zookeeper, has its own integration requirements, and this section covers them.spring-doc.cn

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.spring-doc.cn

For transparent dependency management Spring Integration provides a bill-of-materials POM to be imported into the Maven configuration:spring-doc.cn

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.integration</groupId>
            <artifactId>spring-integration-bom</artifactId>
            <version>6.4.1-SNAPSHOT</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

To recap:spring-doc.cn

  • Inbound channel adapters are used for one-way integration to bring data into the messaging application.spring-doc.cn

  • Outbound channel adapters are used for one-way integration to send data out of the messaging application.spring-doc.cn

  • Inbound gateways are used for a bidirectional integration flow, where some other system invokes the messaging application and receives a reply.spring-doc.cn

  • Outbound Gateways are used for a bidirectional integration flow, where the messaging application invokes some external service or entity and expects a result.spring-doc.cn

The following table summarizes the various endpoints with quick links to the appropriate chapter.spring-doc.cn

Table 1. Endpoint Quick Reference
Module Inbound Adapter Outbound Adapter Inbound Gateway Outbound Gateway

AMQPspring-doc.cn

Inbound Channel Adapterspring-doc.cn

Outbound Channel Adapterspring-doc.cn

Inbound Gatewayspring-doc.cn

Outbound Gatewayspring-doc.cn

Apache Camelspring-doc.cn

Nspring-doc.cn

Outbound Channel Adapterspring-doc.cn

Nspring-doc.cn

Outbound Gatewayspring-doc.cn

Apache Cassandraspring-doc.cn

Nspring-doc.cn

Outbound Channel Adapterspring-doc.cn

Nspring-doc.cn

Outbound Gatewayspring-doc.cn

Debeziumspring-doc.cn

Debezium Inbound Channel Adapterspring-doc.cn

Nspring-doc.cn

Nspring-doc.cn

Nspring-doc.cn

Eventsspring-doc.cn

Receiving Spring Application Eventsspring-doc.cn

Sending Spring Application Eventsspring-doc.cn

Nspring-doc.cn

Nspring-doc.cn

Feedspring-doc.cn

Feed Inbound Channel Adapterspring-doc.cn

Nspring-doc.cn

Nspring-doc.cn

Nspring-doc.cn

Filespring-doc.cn

Reading Files and 'tail’ing Filesspring-doc.cn

Writing filesspring-doc.cn

Nspring-doc.cn

Writing filesspring-doc.cn

FTP(S)spring-doc.cn

FTP Inbound Channel Adapterspring-doc.cn

FTP Outbound Channel Adapterspring-doc.cn

Nspring-doc.cn

FTP Outbound Gatewayspring-doc.cn

GraphQLspring-doc.cn

Nspring-doc.cn

Nspring-doc.cn

Nspring-doc.cn

GraphQL Outbound Gatewayspring-doc.cn

Hazelcastspring-doc.cn

Hazelcast Inbound Channel Adapterspring-doc.cn

Hazelcast Outbound Channel Adapterspring-doc.cn

Nspring-doc.cn

Nspring-doc.cn

HTTPspring-doc.cn

HTTP Namespace Supportspring-doc.cn

HTTP Namespace Supportspring-doc.cn

Http Inbound Componentsspring-doc.cn

HTTP Outbound Componentsspring-doc.cn

JDBCspring-doc.cn

Inbound Channel Adapter and Stored Procedure Inbound Channel Adapterspring-doc.cn

Outbound Channel Adapter and Stored Procedure Outbound Channel Adapterspring-doc.cn

Nspring-doc.cn

Outbound Gateway and Stored Procedure Outbound Gatewayspring-doc.cn

JMSspring-doc.cn

Inbound Channel Adapter and Message-driven Channel Adapterspring-doc.cn

Outbound Channel Adapterspring-doc.cn

Inbound Gatewayspring-doc.cn

Outbound Gatewayspring-doc.cn

JMXspring-doc.cn

Notification-listening Channel Adapter and Attribute-polling Channel Adapter and Tree-polling Channel Adapterspring-doc.cn

Notification-publishing Channel Adapter and Operation-invoking Channel Adapterspring-doc.cn

Nspring-doc.cn

Operation-invoking Outbound Gatewayspring-doc.cn

JPAspring-doc.cn

Inbound Channel Adapterspring-doc.cn

Outbound Channel Adapterspring-doc.cn

Nspring-doc.cn

Updating Outbound Gateway and Retrieving Outbound Gatewayspring-doc.cn

Apache Kafkaspring-doc.cn

Message Driven Channel Adapter and Inbound Channel Adapterspring-doc.cn

Outbound Channel Adapterspring-doc.cn

Inbound Gatewayspring-doc.cn

Outbound Gatewayspring-doc.cn

Mailspring-doc.cn

Mail-receiving Channel Adapterspring-doc.cn

Mail-sending Channel Adapterspring-doc.cn

Nspring-doc.cn

Nspring-doc.cn

MongoDBspring-doc.cn

MongoDB Inbound Channel Adapterspring-doc.cn

MongoDB Outbound Channel Adapterspring-doc.cn

Nspring-doc.cn

Nspring-doc.cn

MQTTspring-doc.cn

Inbound (Message-driven) Channel Adapterspring-doc.cn

Outbound Channel Adapterspring-doc.cn

Nspring-doc.cn

Nspring-doc.cn

R2DBCspring-doc.cn

R2DBC Inbound Channel Adapterspring-doc.cn

R2DBC Outbound Channel Adapterspring-doc.cn

Nspring-doc.cn

Nspring-doc.cn

Redisspring-doc.cn

Redis Inbound Channel Adapter, Redis Queue Inbound Channel Adapter, Redis Store Inbound Channel Adapter, Redis Stream Inbound Channel Adapterspring-doc.cn

Redis Outbound Channel Adapter, Redis Queue Outbound Channel Adapter, RedisStore Outbound Channel Adapter, Redis Stream Outbound Channel Adapterspring-doc.cn

Redis Queue Inbound Gatewayspring-doc.cn

Redis Outbound Command Gateway and Redis Queue Outbound Gatewayspring-doc.cn

Resourcespring-doc.cn

Resource Inbound Channel Adapterspring-doc.cn

Nspring-doc.cn

Nspring-doc.cn

Nspring-doc.cn

RSocketspring-doc.cn

Nspring-doc.cn

Nspring-doc.cn

RSocket Inbound Gatewayspring-doc.cn

RSocket Outbound Gatewayspring-doc.cn

SFTPspring-doc.cn

SFTP Inbound Channel Adapterspring-doc.cn

SFTP Outbound Channel Adapterspring-doc.cn

Nspring-doc.cn

SFTP Outbound Gatewayspring-doc.cn

SMBspring-doc.cn

SMB Inbound Channel Adapter, SMB Streaming Inbound Channel Adapterspring-doc.cn

SMB Outbound Channel Adapterspring-doc.cn

Nspring-doc.cn

SMB Outbound Gatewayspring-doc.cn

STOMPspring-doc.cn

STOMP Inbound Channel Adapterspring-doc.cn

STOMP Outbound Channel Adapterspring-doc.cn

Nspring-doc.cn

Nspring-doc.cn

Streamspring-doc.cn

Reading from Streamsspring-doc.cn

Writing to Streamsspring-doc.cn

Nspring-doc.cn

Nspring-doc.cn

Syslogspring-doc.cn

Syslog Inbound Channel Adapterspring-doc.cn

Nspring-doc.cn

Nspring-doc.cn

Nspring-doc.cn

TCPspring-doc.cn

TCP Adaptersspring-doc.cn

TCP Adaptersspring-doc.cn

TCP Gatewaysspring-doc.cn

TCP Gatewaysspring-doc.cn

UDPspring-doc.cn

UDP Adaptersspring-doc.cn

UDP Adaptersspring-doc.cn

Nspring-doc.cn

Nspring-doc.cn

WebFluxspring-doc.cn

WebFlux Inbound Channel Adapterspring-doc.cn

WebFlux Outbound Channel Adapterspring-doc.cn

Inbound WebFlux Gatewayspring-doc.cn

Outbound WebFlux Gatewayspring-doc.cn

Web Servicesspring-doc.cn

Nspring-doc.cn

Nspring-doc.cn

Inbound Web Service Gatewaysspring-doc.cn

Outbound Web Service Gatewaysspring-doc.cn

Web Socketsspring-doc.cn

WebSocket Inbound Channel Adapterspring-doc.cn

WebSocket Outbound Channel Adapterspring-doc.cn

Nspring-doc.cn

Nspring-doc.cn

XMPPspring-doc.cn

XMPP Messages and XMPP Presencespring-doc.cn

XMPP Messages and XMPP Presencespring-doc.cn

Nspring-doc.cn

Nspring-doc.cn

ZeroMQspring-doc.cn

ZeroMQ Inbound Channel Adapterspring-doc.cn

ZeroMQ outbound Channel Adapterspring-doc.cn

Nspring-doc.cn

Nspring-doc.cn

In addition, as discussed in 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 Messaging Gateways, 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.spring-doc.cn

Starting with version 5.2.2, all the inbound gateways can be configured with an errorOnTimeout boolean flag to throw a MessageTimeoutException when the downstream flow doesn’t return a reply during the reply timeout. The timer is not started until the thread returns control to the gateway, so usually it is only useful when the downstream flow is asynchronous, or it stops because of a null return from some handler, e.g. filter. Such an exception can be handled on the errorChannel flow, e.g. producing a compensation reply for requesting client.spring-doc.cn