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 可用,則可以在啟動時建立預設資料庫結構描述,如下行所示

  • Properties

  • YAML

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 Boot 也可以使用配置屬性自動組態 ClientRSocketConnector

  • Properties

  • 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
  • Properties

  • YAML

spring.integration.rsocket.client.uri=ws://example.org
# Connecting to a RSocket Server over WebSocket
spring:
  integration:
    rsocket:
      client:
        uri: "ws://example.org"

有關更多詳細資訊,請參閱 IntegrationAutoConfigurationIntegrationProperties 類別。