グローバルプロパティ

特定のグローバルフレームワークプロパティは、クラスパスでプロパティファイルを提供することでオーバーライドできます。

デフォルトのプロパティは org.springframework.integration.context.IntegrationProperties クラスにあります。次のリストは、デフォルト値を示しています。

spring.integration.channels.autoCreate=true (1)
spring.integration.channels.maxUnicastSubscribers=0x7fffffff (2)
spring.integration.channels.maxBroadcastSubscribers=0x7fffffff (3)
spring.integration.taskScheduler.poolSize=10 (4)
spring.integration.messagingTemplate.throwExceptionOnLateReply=false (5)
spring.integration.readOnly.headers= (6)
spring.integration.endpoints.noAutoStartup= (7)
spring.integration.channels.error.requireSubscribers=true (8)
spring.integration.channels.error.ignoreFailures=true (9)
spring.integration.endpoints.defaultTimeout=30000 (10)
1true の場合、input-channel インスタンスは、アプリケーションコンテキストで明示的に検出されない場合、DirectChannel インスタンスとして自動的に宣言されます。
2DirectChannel などで許可されるデフォルトのサブスクライバー数を設定します。誤って同じチャネルに複数のエンドポイントをサブスクライブすることを避けるために使用できます。max-subscribers 属性を設定することにより、個々のチャネルでこれをオーバーライドできます。
3 このプロパティは、たとえば PublishSubscribeChannel で許可されるデフォルトのサブスクライバー数を提供します。これは、同じチャネルに予期しない数のエンドポイントを誤ってサブスクライブすることを回避するために使用できます。max-subscribers 属性を設定することにより、個々のチャネルでこれをオーバーライドできます。
4 デフォルトの taskScheduler Bean で使用可能なスレッドの数。タスクスケジューラの構成を参照してください。
5true の場合、ゲートウェイが応答を予期していない場合、ゲートウェイ応答チャネルに到着したメッセージは例外をスローします(送信スレッドがタイムアウトしたか、すでに応答を受信したため)。
6 ヘッダーコピー操作中に Message インスタンスに入力しないメッセージヘッダー名のコンマ区切りリスト。このリストは DefaultMessageBuilderFactory Bean によって使用され、MessageBuilder (MessageBuilder ヘルパークラスを参照)を介してメッセージを作成するために使用される IntegrationMessageHeaderAccessor インスタンス(MessageHeaderAccessor API を参照)に伝搬されます。デフォルトでは、MessageHeaders.ID と MessageHeaders.TIMESTAMP のみがメッセージの構築中にコピーされません。バージョン 4.3.2 以降。
7 アプリケーションの起動時に自動的に開始されない AbstractEndpoint Bean 名パターン (xxx*xxx*xxx または xxx*yyy) のコンマ区切りリスト。これらのエンドポイントは、制御バスを介して Bean 名で、SmartLifecycleRoleController でのロール ( エンドポイントのロールを参照) で、または Lifecycle Bean インジェクションによって、後で手動で開始できます。auto-startup XML アノテーションまたは autoStartup アノテーション属性を指定するか、Bean 定義で AbstractEndpoint.setAutoStartup() を呼び出すことによって、このグローバルプロパティの効果を明示的にオーバーライドできます。バージョン 4.3.12 以降。
8 デフォルトのグローバル errorChannel を requireSubscribers オプションで構成する必要があることを示すブールフラグ。バージョン 5.4.3 以降。詳細については、エラー処理を参照してください。
9 デフォルトのグローバル errorChannel がディスパッチングエラーを無視し、メッセージを次のハンドラーに渡す必要があることを示すブールフラグ。バージョン 5.5 以降。
10 エンドポイントのリクエストおよび応答タイムアウトのデフォルトのミリ秒数。無期限のブロックを避けるため、デフォルト値は 30 秒です。負の値に構成すると、エンドポイントで無限のブロック動作を復元できます。バージョン 6.2 以降。

これらのプロパティは、/META-INF/spring.integration.properties ファイルをクラスパスに追加するか、org.springframework.integration.context.IntegrationProperties インスタンスの場合は IntegrationContextUtils.INTEGRATION_GLOBAL_PROPERTIES_BEAN_NAME Bean を追加することでオーバーライドできます。すべてのプロパティを指定する必要はありません。オーバーライドするプロパティのみを指定してください。

バージョン 5.1 以降、DEBUG ロジックレベルが org.springframework.integration カテゴリに対してオンになっている場合、アプリケーションコンテキストの起動後に、マージされたすべてのグローバルプロパティがログに出力されます。出力は次のようになります。

Spring Integration global properties:

spring.integration.endpoints.noAutoStartup=fooService*
spring.integration.taskScheduler.poolSize=20
spring.integration.channels.maxUnicastSubscribers=0x7fffffff
spring.integration.channels.autoCreate=true
spring.integration.channels.maxBroadcastSubscribers=0x7fffffff
spring.integration.readOnly.headers=
spring.integration.messagingTemplate.throwExceptionOnLateReply=true
spring.integration.endpoints.defaultTimeout=30000