10.2.9 Endpoint modules
It’s great that Spring Integration lets you create your own channel adapters. But what’s even better is that Spring Integration provides more than two dozen endpoint modules containing channel adapters—both inbound and outbound—for integration with a variety of common external systems, including those listed in table 10.1.
Table 10.1 Spring Integration provides more than two dozen endpoint modules for integration with external systems.
| Module | Dependency artifact ID (Group ID: org.springframework.integration) |
|---|---|
| AMQP | spring-integration-amqp |
| Spring application events | spring-integration-event |
| RSS and Atom | spring-integration-feed |
| Filesystem | spring-integration-file |
| FTP/FTPS | spring-integration-ftp |
| GemFire | spring-integration-gemfire |
| HTTP | spring-integration-http |
| JDBC | spring-integration-jdbc |
| JPA | spring-integration-jpa |
| JMS | spring-integration-jms |
spring-integration-mail | |
| MongoDB | spring-integration-mongodb |
| MQTT | spring-integration-mqtt |
| R2DBC | spring-integration-r2dbc |
| Redis | spring-integration-redis |
| RMI | spring-integration-rmi |
| SFTP | spring-integration-sftp |
| STOMP | spring-integration-stomp |
| Stream | spring-integration-stream |
| Syslog | spring-integration-syslog |
| TCP/UDP | spring-integration-ip |
| WebFlux | spring-integration-webflux |
| Web Services | spring-integration-ws |
| WebSocket | spring-integration-websocket |
| XMPP | spring-integration-xmpp |
| ZeroMQ | spring-integration-zeromq |
| ZooKeeper | spring-integration-zookeeper |
One thing that’s clear from looking at table 10.1 is that Spring Integration provides an extensive set of components to meet many integration needs. Most applications will never need even a fraction of what Spring Integration offers. But it’s good to know that Spring Integration has you covered if you need any of these components.
What’s more, it would be impossible to cover all the channel adapters afforded by the modules listed in table 10.1 in the space of this chapter. You’ve already seen examples that use the filesystem module to write to the filesystem. And you’re soon going to use the email module to read emails.
Each of the endpoint modules offers channel adapters that can be either declared as beans when using Java configuration or referenced via static methods when using Java DSL configuration. I encourage you to explore any of the other endpoint modules that interest you most. You’ll find that they’re fairly consistent in how they’re used. But for now, let’s turn our attention to the email endpoint module to see how you might use it in the Taco Cloud application.
