对于最新稳定版本,请使用 Spring Boot 4.0.4spring-doc.cadn.net.cn

Spring Integration

Spring Boot 为使用 Spring Integration 提供了多种便利,包括 spring-boot-starter-integration Starters。 Spring Integration 提供了对消息传递以及其他传输方式(如 HTTP、TCP 等)的抽象。 如果您的类路径中存在 Spring Integration,它将通过 @EnableIntegration 注解进行初始化。spring-doc.cadn.net.cn

Spring Integration 的轮询逻辑依赖于 自动配置的 TaskScheduler。 默认的 PollerMetadata(每秒轮询无限制数量的消息)可以通过 spring.integration.poller.* 配置属性进行自定义。spring-doc.cadn.net.cn

Spring Boot 还会根据是否存在额外的 Spring Integration 模块来配置某些功能。 如果类路径中也包含 spring-integration-jmx,则消息处理统计信息将通过 JMX 发布。 如果存在 spring-integration-jdbc,则可以在启动时创建默认的数据库模式,如下所示:spring-doc.cadn.net.cn

spring.integration.jdbc.initialize-schema=always
spring:
  integration:
    jdbc:
      initialize-schema: "always"

如果 spring-integration-rsocket 可用,开发人员可以使用 spring.rsocket.server.* 属性配置 RSocket 服务器,并让它使用 IntegrationRSocketEndpointRSocketOutboundGateway 组件来处理传入的 RSocket 消息。 此基础架构可以处理 Spring Integration RSocket 通道适配器和 @MessageMapping 处理器(前提是已配置 spring.integration.rsocket.server.message-mapping-enabled)。spring-doc.cadn.net.cn

Spring Boot 还可以使用配置属性自动配置一个 ClientRSocketConnectorspring-doc.cadn.net.cn

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
spring.integration.rsocket.client.uri=ws://example.org
# Connecting to a RSocket Server over WebSocket
spring:
  integration:
    rsocket:
      client:
        uri: "ws://example.org"

请参阅 IntegrationAutoConfigurationIntegrationProperties 类以获取更多详细信息。spring-doc.cadn.net.cn