Spring Integration
Spring Boot 提供了多个便利的功能来与 Spring Integration 协同工作,包括 `spring-boot-starter-integration` 启动器。Spring Integration 提供了消息传递和其他传输方式(如 HTTP、TCP 等)的抽象。如果 Spring Integration 存在于你的类路径中,它将通过 `@EnableIntegration` 注解进行初始化。
Spring Integration 轮询逻辑依赖于 自动配置的 `TaskScheduler`。默认的 `PollerMetadata`(每秒轮询无限数量的消息)可以使用 `spring.integration.poller.*` 配置属性进行自定义。
Spring Boot 还配置了一些由其他 Spring Integration 模块的存在触发的功能。如果 `spring-integration-jmx` 也在类路径上,则消息处理统计信息将通过 JMX 发布。如果 `spring-integration-jdbc` 可用,则可以在启动时创建默认数据库模式,如下所示:
-
属性
-
YAML
spring.integration.jdbc.initialize-schema=always
spring:
integration:
jdbc:
initialize-schema: "always"
如果 `spring-integration-rsocket` 可用,开发人员可以使用 `spring.rsocket.server.*` 属性配置 RSocket 服务器,并让它使用 `IntegrationRSocketEndpoint` 或 `RSocketOutboundGateway` 组件来处理传入的 RSocket 消息。此基础结构可以处理 Spring Integration RSocket 通道适配器和 `@MessageMapping` 处理程序(前提是已配置 `spring.integration.rsocket.server.message-mapping-enabled`)。
Spring Boot 还可以使用配置属性自动配置 `ClientRSocketConnector`。
-
属性
-
YAML
spring.integration.rsocket.client.host=example.org
spring.integration.rsocket.client.port=9898
# Connecting to a RSocket server over TCP
spring:
integration:
rsocket:
client:
host: "example.org"
port: 9898
-
属性
-
YAML
spring.integration.rsocket.client.uri=ws://example.org
# Connecting to a RSocket Server over WebSocket
spring:
integration:
rsocket:
client:
uri: "ws://example.org"
查看 `IntegrationAutoConfiguration` 和 `IntegrationProperties` 类以了解更多详情。