Spring Integration

Spring Boot は、spring-boot-starter-integration スターターなど、Spring Integration を操作するための便利な機能をいくつか提供します。Spring Integration は、メッセージングだけでなく、HTTP、TCP などの他のトランスポートに対する抽象化も提供します。Spring Integration がクラスパスで使用可能な場合は、@EnableIntegration (Javadoc) アノテーションによって初期化されます。

Spring Integration ポーリングロジックは自動構成された TaskScheduler に依存します。デフォルトの PollerMetadata (Javadoc) (毎秒無制限の数のメッセージをポーリングする) は、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 (Javadoc) または RSocketOutboundGateway (Javadoc) コンポーネントを使用して受信 RSocket メッセージを処理できます。このインフラストラクチャは、Spring Integration RSocket チャネルアダプターと @MessageMapping (Javadoc) ハンドラーを処理できます (spring.integration.rsocket.server.message-mapping-enabled が構成されている場合)。

Spring Boot は、構成プロパティを使用して ClientRSocketConnector (Javadoc) を自動構成することもできます。

  • プロパティ

  • 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 [GitHub] (英語) および IntegrationProperties (Javadoc) クラスを参照してください。