首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RabbitMQ中的服务器端超时是什么?

RabbitMQ中的服务器端超时是什么?
EN

Stack Overflow用户
提问于 2013-11-21 19:03:51
回答 1查看 4.2K关注 0票数 2

http://rmq.example.com:15672/#/connections显示了打开的连接及其属性。一个属性称为“超时值”。对于使用RabbitMQ Java进行的连接,此值设置为600。对于使用node-amqp库创建的连接,则为空。

我不知道如何改变它,甚至不知道它能做什么。在Java库中,有一个带有setTimeout方法的setTimeout,但是这设置了以ms为单位传递给Socket.connect的超时值,也就是说,它是一个客户端超时,无法到达服务器(实际上,它不符合RMQ页面上显示的600 s)。我也尝试过添加timeoutconnectionTimeoutconnection_timeout作为客户端属性,但这些属性不会影响timeout。实际上,它们分别出现在客户端属性中(通过REST检查):

代码语言:javascript
复制
"client_properties":{"connectiontimeout":"40000",
"connectionTimeout":"30000",
"connection_timeout", ... }

我不知道“600 s”是从客户端发送的,还是服务器默认的,甚至是它所做的。我正在查看Java库和node-amqp的源代码,以获得一些证据,但我想问是否有人对此有更高的了解。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-21 19:28:29

是心跳。这个同义词唯一明显的地方是狂犬病手册页

代码语言:javascript
复制
timeout
    Connection timeout / negotiated heartbeat interval, in seconds.

在Java中,这是通过ConnectionFactory.setRequestedHeartbeat(int seconds)设置的。我读到,服务器需要心跳才能知道连接何时死亡,但是我不知道为什么会这样,因为AMQP是应用层协议,而不是传输层,传输层在连接启动和结束时进行管理。

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

https://stackoverflow.com/questions/20129715

复制
相关文章

相似问题

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