gpt4 book ai didi

java - ActiveMQ 保持 ESTABLISHED 连接

转载 作者:行者123 更新时间:2023-11-30 06:47:07 28 4
gpt4 key购买 nike

我的一个 AMQ 生产者有问题,我有网络问题,因此它无法向 Q 发送消息。然而,服务器打开与 Q 机器的连接并保持它们完好无损。连接数增加,Q 机器窒息,无法为其其余生产者和消费者提供服务。

这是我在“坏”生产者中发现的异常:

Caused by: javax.jms.JMSException: Wire format negotiation timeout: peer did not send his wire format.
at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:72)
at org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1413)
at org.apache.activemq.ActiveMQConnection.ensureConnectionInfoSent(ActiveMQConnection.java:1478)
at org.apache.activemq.ActiveMQConnection.start(ActiveMQConnection.java:527)
at com.queue.service.ActiveMQ.ActiveMQWriter.initSession(ActiveMQWriter.java:163)
... 4 more
Caused by: java.io.IOException: Wire format negotiation timeout: peer did not send his wire format.
at org.apache.activemq.transport.WireFormatNegotiator.oneway(WireFormatNegotiator.java:99)
at org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:68)
at org.apache.activemq.transport.ResponseCorrelator.asyncRequest(ResponseCorrelator.java:81)
at org.apache.activemq.transport.ResponseCorrelator.request(ResponseCorrelator.java:86)
at org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1388)
... 7 more

在我的“坏”生产者上运行 netstat 命令会为每个失败的请求提供 State ESTABLISHED

在我的 Q 服务器上运行 netstat 命令会为每个失败的请求提供来自“坏”生产者的 State ESTABLISHED

问题:我需要在生产者和/或 Q 中修改哪些参数才能在可配置的时间后“中断”这些连接?

最佳答案

最好的解决方案是使用 failover transport ,以便您的客户端在第一次尝试失败时可以再次尝试连接。

您还可以尝试延长有线格式协商时间(默认 10 秒)。

您可以通过在客户端的连接 URL 上使用wireFormat.maxInactivityDurationInitalDelay 属性将超时时间增加到 30 秒来实现此目的

ActiveMQConnectionFactory cf = new ActiveMQConnectionFactory("failover:(tcp://localhost:61616?wireFormat.maxInactivityDurationInitalDelay=30000)");

http://activemq.apache.org/javaxjmsjmsexception-wire-format-negociation-timeout-peer-did-not-send-his-wire-format.html

关于java - ActiveMQ 保持 ESTABLISHED 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43517245/

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