gpt4 book ai didi

java - 将 SimpleMessageListenerContainer 初始化为已停止

转载 作者:行者123 更新时间:2023-12-01 18:31:23 27 4
gpt4 key购买 nike

有没有办法将 SimpleMessageListenerContainer 初始化为停止状态?

即我不想使用任何 JMS 消息,直到稍后用户执行启动 JMS 容器的操作

我尝试在创建 bean 后立即调用 .stop()...但似乎还为时过早。

稍后调用停止/启动工作正常,但在用户准备好之前我不想冒险处理任何消息。

最佳答案

SimpleMessageListenerContainer实现SmartLifecycle界面。该接口(interface)定义了一个方法isAutoStartup 。当此方法返回true时,组件将自动启动。

大多数实现 SmartLifecycle 接口(interface)的 bean 也有一个方法 setAutoStartup 来允许设置此属性。将其设置为 false 将禁用组件的自动启动。

<bean class="org.springframework.jms.listener.SimpleMessageListenerContainer">
<property name="autoStartup" value="false" />
// Other Properties initialization
</bean>

或者在Java配置中

@Bean
public SimpleMessageListenerContainer container() {
SimpleMessageListenerContainer smlc = new SimpleMessageListenerContainer();
smlc.setAutoStartup(false);
...
return smlc;
}

目前无法使用 jms 命名空间设置此属性。

关于java - 将 SimpleMessageListenerContainer 初始化为已停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24015906/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com