我的应用程序使用Spring云,刷新范围用于在配置更改时动态刷新一些bean。如何使相同的行为也适用于Jms消息侦听器。 下面是Spring集成中定义的消息监听器。如何在配置更改时定义此bean以进行刷新。在这种情况下,我使用max concurrent consumer和auto-startup属性从属性加载
<jms:message-driven-channel-adapter
id="processMessageDrivenChannelAdapter" send-timeout="5000"
max-messages-per-task="-1"
idle-task-execution-limit="100"
max-concurrent-consumers="${consumers}"
connection-factory="messageConnectionFactory"
destination="jmsQueue" channel="messageProcessChannel"
acknowledge="transacted" auto-startup="${autoStartUp}" />
答案 0 :(得分:1)
@RefreshScope
;例如实现SmartLifecycle
需要管理生命周期(启动/停止等)的那些。
仅支持在刷新后获取新属性的被动bean。
您必须侦听刷新事件并手动停止/重新配置/启动适配器。