此版本仍在开发中,尚不被认为是稳定的。对于最新的稳定版本,请使用 Spring Integration 6.5.1! |
全局属性
可以通过在类路径上提供属性文件来覆盖某些全局框架属性。
默认属性可以在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)
1 | 当为true时,input-channel 实例自动声明为DirectChannel 实例,如果未在应用程序上下文中显式找到。 |
2 | 设置允许的默认订阅者数,例如DirectChannel .
它可用于避免无意中将多个端点订阅到同一通道。
您可以通过将max-subscribers 属性。 |
3 | 此属性提供允许的默认订阅者数,例如PublishSubscribeChannel .
它可用于避免无意中订阅超过同一通道的预期数量的端点。
您可以通过将max-subscribers 属性。 |
4 | 默认值中可用的线程数taskScheduler 豆。
请参阅配置任务计划程序。 |
5 | 什么时候true ,当网关不期望回复时(因为发送线程已超时或已收到回复),到达网关应答通道的消息会抛出异常。 |
6 | 不应填充到的以逗号分隔的邮件头名称列表Message 标头复制作期间的实例。
该列表由DefaultMessageBuilderFactory bean 并传播到IntegrationMessageHeaderAccessor 实例(请参阅MessageHeaderAccessor 应用程序接口) 用于通过MessageBuilder (参见这MessageBuilder 辅助类).
默认情况下,只有MessageHeaders.ID 和MessageHeaders.TIMESTAMP 在消息构建期间不会被复制。
从 4.3.2 版本开始。 |
7 | 以逗号分隔的列表AbstractEndpoint bean 名称模式 (xxx* ,xxx ,*xxx 或xxx*yyy ),不应在应用程序启动期间自动启动。
您可以稍后通过控制总线按其 Bean 名称手动启动这些端点,通过它们的角色与SmartLifecycleRoleController (请参阅端点角色),或通过Lifecycle 豆子注射。
您可以通过指定auto-startup XML 注释或autoStartup annotation 属性或通过调用AbstractEndpoint.setAutoStartup() 在 bean 定义中。
从 4.3.12 版本开始。 |
8 | 一个布尔标志,用于指示默认全局errorChannel 必须配置requireSubscribers 选择。
从 5.4.3 版本开始。
有关详细信息,请参阅错误处理。 |
9 | 一个布尔标志,用于指示默认全局errorChannel 必须忽略分派错误并将消息传递给下一个处理程序。
从 5.5 版本开始。 |
10 | 端点中请求和回复超时的默认毫秒数。 默认值为 30 秒,以避免无限期阻塞。 可以配置为负值,以恢复端点中的无限阻塞行为。 从 6.2 版开始。 |
可以通过添加/META-INF/spring.integration.properties
文件添加到类路径或IntegrationContextUtils.INTEGRATION_GLOBAL_PROPERTIES_BEAN_NAME
bean 的org.springframework.integration.context.IntegrationProperties
实例。
您不需要提供所有属性,只需提供要覆盖的属性。
从版本 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