如何解决JMS 侦听器如何检查容器是否关闭
目前我的任务是在消息队列连接失败 5 次时停止我的 Spring Boot 应用程序。我发现了
DefaultJmsListenerContainerFactory.setBackOff()
这将在 5 次尝试失败后成功停止容器,但是当我使用时
@JmsListener(containerFactory="myFactory")
我没有明确地创建容器,而 spring 正在为我做这件事。那么如何检查容器是否关闭以关闭 spring boot 应用程序?
解决方法
import javax.jms.ConnectionFactory;
import org.springframework.jms.config.DefaultJmsListenerContainerFactory;
@Autowired
private ConnectionFactory connectionFactory;
@Bean("myFactory")
public DefaultJmsListenerContainerFactory myCustomisedListenerFactory() {
DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory();
factory.setConnectionFactory(connectionFactory);
// interval,max number of attempts
factory.setBackOff(new FixedBackOff(1000,5));
return factory;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。