mirror of
https://github.com/spring-projects/spring-boot.git
synced 2026-10-07 17:59:02 +00:00
49 lines
2.4 KiB
Plaintext
49 lines
2.4 KiB
Plaintext
[[messaging.spring-integration]]
|
|
== Spring Integration
|
|
Spring Boot offers several conveniences for working with {spring-integration}[Spring Integration], including the `spring-boot-starter-integration` "`Starter`".
|
|
Spring Integration provides abstractions over messaging and also other transports such as HTTP, TCP, and others.
|
|
If Spring Integration is available on your classpath, it is initialized through the `@EnableIntegration` annotation.
|
|
|
|
Spring Integration polling logic relies <<features#features.task-execution-and-scheduling,on the auto-configured `TaskScheduler`>>.
|
|
The default `PollerMetadata` (poll unbounded number of messages every second) can be customized with `spring.integration.poller.*` configuration properties.
|
|
|
|
Spring Boot also configures some features that are triggered by the presence of additional Spring Integration modules.
|
|
If `spring-integration-jmx` is also on the classpath, message processing statistics are published over JMX.
|
|
If `spring-integration-jdbc` is available, the default database schema can be created on startup, as shown in the following line:
|
|
|
|
[source,yaml,indent=0,subs="verbatim",configprops,configblocks]
|
|
----
|
|
spring:
|
|
integration:
|
|
jdbc:
|
|
initialize-schema: "always"
|
|
----
|
|
|
|
If `spring-integration-rsocket` is available, developers can configure an RSocket server using `"spring.rsocket.server.*"` properties and let it use `IntegrationRSocketEndpoint` or `RSocketOutboundGateway` components to handle incoming RSocket messages.
|
|
This infrastructure can handle Spring Integration RSocket channel adapters and `@MessageMapping` handlers (given `"spring.integration.rsocket.server.message-mapping-enabled"` is configured).
|
|
|
|
Spring Boot can also auto-configure an `ClientRSocketConnector` using configuration properties:
|
|
|
|
[source,yaml,indent=0,subs="verbatim",configprops,configblocks]
|
|
----
|
|
# Connecting to a RSocket server over TCP
|
|
spring:
|
|
integration:
|
|
rsocket:
|
|
client:
|
|
host: "example.org"
|
|
port: 9898
|
|
----
|
|
|
|
[source,yaml,indent=0,subs="verbatim",configprops,configblocks]
|
|
----
|
|
# Connecting to a RSocket Server over WebSocket
|
|
spring:
|
|
integration:
|
|
rsocket:
|
|
client:
|
|
uri: "ws://example.org"
|
|
----
|
|
|
|
See the {spring-boot-autoconfigure-module-code}/integration/IntegrationAutoConfiguration.java[`IntegrationAutoConfiguration`] and {spring-boot-autoconfigure-module-code}/integration/IntegrationProperties.java[`IntegrationProperties`] classes for more details.
|