首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用java时未反映Rabbit心跳配置

使用java时未反映Rabbit心跳配置
EN

Stack Overflow用户
提问于 2021-03-25 08:39:11
回答 1查看 100关注 0票数 0

我们正在尝试使用以下命令设置requestedHeartbeat值

代码语言:javascript
复制
<rabbit:connection-factory id="connectionFactory"
        host="#{rabbitmq.hostname}" username="#{rabbitmq.username}"
        password="#{rabbitmq.password}" virtual-host="#{rabbitmq.virtualhost}"
        publisher-confirms="false" publisher-returns="false" requested-heartbeat="120" port="#{rabbitmq.port}"/>

我们使用以下命令创建一个consumer对象

代码语言:javascript
复制
AbstractApplicationContext context = new ClassPathXmlApplicationContext("classpath:/consumer_context.xml"); 
SimpleMessageListenerContainer container = context.getBean(SimpleMessageListenerContainer.class);

container.connectionFactory.rabbitConnectionFactory的值为120

但当我们在RabbitMQ UI中检查连接心跳时,它会显示该值为60。

有没有人能告诉我我错过了什么?

我甚至还尝试了在application.properties中使用spring.rabbitmq.requested-heartbeat。它没有起作用。

我们使用的是spring-rabbit 2.1.8 RabbitMQ 3.7.15 Erlang 22.0.4

EN

回答 1

Stack Overflow用户

发布于 2021-03-25 09:12:04

RabbitMQ配置也有一个心跳的值,所以你可能也想改变它。

表示服务器在连接参数协商期间建议的心跳超时的https://www.rabbitmq.com/configure.html值。如果两端都设置为0,则禁用心跳(不建议这样做)。有关详细信息,请参阅《心跳》指南。默认值:

代码语言:javascript
复制
heartbeat = 60

https://www.rabbitmq.com/heartbeats.html#using-heartbeats-in-java请注意,如果RabbitMQ服务器配置了非零心跳超时(这是从3.6.x开始的版本中的默认设置),客户端只能降低该值,而不能增加该值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66791444

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档