有没有选择使用Spring-AMQP在RabbitMQ中设置AutomaticRecoveryEnabled?

 爱情丫丫2502895047 发布于 2022-12-29 16:50

使用Spring-AMQP使用RabbitMQ时获得库存.

只需要一种方法来使用Spring-AMQP配置AutomaticRecoveryEnabled和NetworkRecoveryInterval.如果使用本机RabbitMQ库进行开发,可以直接设置这些标记.但我没有找到使用弹簧做同样的解决方法

使用RabbitMQ Native库(不需要任何帮助)

factory.setAutomaticRecoveryEnabled(true);
factory.setNetworkRecoveryInterval(10000);

使用Spring-AMPQ(需要帮助)

像上面一样,我在尝试使用Spring-AMPQ时没有找到任何这样的方法.这就是我现在正在做的事情.

@Bean(name="listener")
public SimpleMessageListenerContainer listenerContainer() 
{
    SimpleMessageListenerContainer container = new SimpleMessageListenerContainer();
    container.setConnectionFactory(connectionFactory());
    container.setQueueNames(env.getProperty("mb.queue"));
    container.setMessageListener(new MessageListenerAdapter(messageListener));
    return container;
}

在这方面的任何帮助都非常值得赞赏.提前致谢.

1 个回答
  • 只是为了澄清; 春天AMQP是不兼容使用automaticRecoveryEnabled.

    它有自己的恢复机制,并且不了解客户端正在执行的底层恢复.这留下了悬空连接和通道.

    我正在进行临时解决方案,使其兼容(但将有效地禁用Spring AMQP使用的任何连接/通道的客户端恢复,同时让客户端恢复适用于同一连接工厂的其他用户.

    较长期的修复需要重新调整侦听器容器才能使用客户端恢复代码.

    2022-12-29 16:52 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有