此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Integration 6.3.1Spring中文文档

此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Integration 6.3.1Spring中文文档

可以通过在类路径上提供属性文件来覆盖某些全局框架属性。Spring中文文档

默认属性可以在类中找到。 以下列表显示了默认值:org.springframework.integration.context.IntegrationPropertiesSpring中文文档

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-channelDirectChannel
2 设置允许的默认订阅者数,例如,. 它可用于避免无意中将多个终结点订阅到同一通道。 您可以通过设置属性在各个频道上覆盖它。DirectChannelmax-subscribers
3 此属性提供允许的默认订阅者数,例如 . 它可用于避免无意中为同一通道订阅超过预期数量的终结点。 您可以通过设置属性在各个频道上覆盖它。PublishSubscribeChannelmax-subscribers
4 缺省 Bean 中可用的线程数。 请参阅配置任务计划程序taskScheduler
5 当 时,当网关不需要回复时(因为发送线程已超时或已收到回复),到达网关应答通道的消息会引发异常。true
6 在标头复制操作期间不应填充到实例中的邮件标头名称的逗号分隔列表。 该列表由 Bean 使用,并传播到用于通过以下方式构建消息的实例(请参阅 MessageHeaderAccessor API)(请参阅 MessageBuilder 帮助程序类)。 默认情况下,在消息生成期间仅复制和不复制。 从版本 4.3.2 开始。MessageDefaultMessageBuilderFactoryIntegrationMessageHeaderAccessorMessageBuilderMessageHeaders.IDMessageHeaders.TIMESTAMP
7 在应用程序启动期间不应自动启动的 Bean 名称模式(、*xxx 或 )的逗号分隔列表。 您可以稍后通过 bean 名称(请参阅 Control Bus)、按其角色 (请参阅 Endpoint Roles) 或 Bean 注入手动启动这些端点。 可以通过指定 XML 注释或注释属性或调用 Bean 定义来显式覆盖此全局属性的效果。 从版本 4.3.12 开始。AbstractEndpointxxx*xxxxxx*yyyControl BusSmartLifecycleRoleControllerLifecycleauto-startupautoStartupAbstractEndpoint.setAutoStartup()
8 一个布尔标志,指示必须使用该选项配置默认全局。 从版本 5.4.3 开始。 有关详细信息,请参阅错误处理errorChannelrequireSubscribers
9 一个布尔标志,指示默认全局必须忽略调度错误并将消息传递给下一个处理程序。 从 5.5 版开始。errorChannel
10 终结点中请求和应答超时的默认毫秒数。 默认值为 30 秒,以避免无限期阻塞。 可以配置为负值,以恢复端点中的无限阻塞行为。 从版本 6.2 开始。
1 如果为 true,则在应用程序上下文中未显式找到实例时,实例会自动声明为实例。input-channelDirectChannel
2 设置允许的默认订阅者数,例如,. 它可用于避免无意中将多个终结点订阅到同一通道。 您可以通过设置属性在各个频道上覆盖它。DirectChannelmax-subscribers
3 此属性提供允许的默认订阅者数,例如 . 它可用于避免无意中为同一通道订阅超过预期数量的终结点。 您可以通过设置属性在各个频道上覆盖它。PublishSubscribeChannelmax-subscribers
4 缺省 Bean 中可用的线程数。 请参阅配置任务计划程序taskScheduler
5 当 时,当网关不需要回复时(因为发送线程已超时或已收到回复),到达网关应答通道的消息会引发异常。true
6 在标头复制操作期间不应填充到实例中的邮件标头名称的逗号分隔列表。 该列表由 Bean 使用,并传播到用于通过以下方式构建消息的实例(请参阅 MessageHeaderAccessor API)(请参阅 MessageBuilder 帮助程序类)。 默认情况下,在消息生成期间仅复制和不复制。 从版本 4.3.2 开始。MessageDefaultMessageBuilderFactoryIntegrationMessageHeaderAccessorMessageBuilderMessageHeaders.IDMessageHeaders.TIMESTAMP
7 在应用程序启动期间不应自动启动的 Bean 名称模式(、*xxx 或 )的逗号分隔列表。 您可以稍后通过 bean 名称(请参阅 Control Bus)、按其角色 (请参阅 Endpoint Roles) 或 Bean 注入手动启动这些端点。 可以通过指定 XML 注释或注释属性或调用 Bean 定义来显式覆盖此全局属性的效果。 从版本 4.3.12 开始。AbstractEndpointxxx*xxxxxx*yyyControl BusSmartLifecycleRoleControllerLifecycleauto-startupautoStartupAbstractEndpoint.setAutoStartup()
8 一个布尔标志,指示必须使用该选项配置默认全局。 从版本 5.4.3 开始。 有关详细信息,请参阅错误处理errorChannelrequireSubscribers
9 一个布尔标志,指示默认全局必须忽略调度错误并将消息传递给下一个处理程序。 从 5.5 版开始。errorChannel
10 终结点中请求和应答超时的默认毫秒数。 默认值为 30 秒,以避免无限期阻塞。 可以配置为负值,以恢复端点中的无限阻塞行为。 从版本 6.2 开始。

可以通过向类路径添加文件或实例的 Bean 来覆盖这些属性。 您不需要提供所有属性,只需提供要覆盖的属性。/META-INF/spring.integration.propertiesIntegrationContextUtils.INTEGRATION_GLOBAL_PROPERTIES_BEAN_NAMEorg.springframework.integration.context.IntegrationPropertiesSpring中文文档

从 V5.1 开始,当为类别打开逻辑级别时,在应用程序上下文启动后,所有合并的全局属性都会打印在日志中。 输出如下所示:DEBUGorg.springframework.integrationSpring中文文档

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=-1