全局属性

可以通过在 Classpath 上提供属性文件来覆盖某些全局框架属性。spring-doc.cadn.net.cn

默认属性可以在org.springframework.integration.context.IntegrationProperties类。 下面的清单显示了默认值:spring-doc.cadn.net.cn

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)
1 如果为 true,则input-channel实例自动声明为DirectChannel实例。
2 设置允许的默认订阅者数量,例如DirectChannel. 它可用于避免无意中将多个终端节点订阅到同一通道。 您可以通过将max-subscribers属性。
3 此属性提供允许在PublishSubscribeChannel. 它可用于避免无意中为同一通道订阅超过预期数量的终端节点。 您可以通过将max-subscribers属性。
4 默认值中可用的线程数taskScheduler豆。 请参阅配置 Task Scheduler
5 什么时候true时,当网关不期待回复时(因为发送线程已超时或已经收到回复),到达网关回复通道的消息将引发异常。
6 不应填充到的邮件报头名称的逗号分隔列表Message实例。 该列表由DefaultMessageBuilderFactorybean 并传播到IntegrationMessageHeaderAccessor实例(请参阅MessageHeaderAccessor应用程序接口) 用于通过MessageBuilder(参见MessageBuilderHelper 类). 默认情况下,只有MessageHeaders.IDMessageHeaders.TIMESTAMP在消息构建期间不会复制。 从 4.3.2 版本开始。
7 以逗号分隔的AbstractEndpointBean 名称模式 (xxx*,xxx,*xxxxxx*yyy),该 ID 不应在应用程序启动期间自动启动。 您可以稍后通过 Control Bus 通过其 Bean 名称手动启动这些终端节点,并通过它们在SmartLifecycleRoleController(请参阅 Endpoint Roles ),或通过Lifecyclebean 注入。 您可以通过指定auto-startupXML 注解或autoStartupannotation 属性或通过调用AbstractEndpoint.setAutoStartup()在 bean 定义中。 从 4.3.12 版本开始。
8 一个布尔标志,用于指示默认全局errorChannel必须配置requireSubscribers选择。 从 5.4.3 版本开始。 有关更多信息,请参阅错误处理
9 一个布尔标志,用于指示默认全局errorChannel必须忽略 dispatch 错误并将消息传递给下一个处理程序。 从 5.5 版本开始。
10 终端节点中请求和回复超时的默认毫秒数。 默认值为 30 秒,以避免无限期阻塞。 可以配置为负值,以恢复终端节点中的无限阻塞行为。 从 6.2 版本开始。

可以通过添加/META-INF/spring.integration.propertiesfile 添加到类路径中,或者将IntegrationContextUtils.INTEGRATION_GLOBAL_PROPERTIES_BEAN_NAMEbean 的org.springframework.integration.context.IntegrationProperties实例。 您无需提供所有属性,只需提供要覆盖的属性即可。spring-doc.cadn.net.cn

从版本 5.1 开始,所有合并的全局属性都会在应用程序上下文启动后打印在日志中,当DEBUG逻辑电平为org.springframework.integration类别。 输出如下所示:spring-doc.cadn.net.cn

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