首页 > 解决方案 > Activemq 5.14.5 http连接器读取超时

问题描述

为了允许 ActiveMQ 客户端和代理通过 HTTP 进行隧道传输,我遵循参考文档http-and-https-transports-reference并添加了activemq.xml文件:

<transportConnector name="http" uri="http://0.0.0.0:8081"/>

启动activemq broker,消费消息时,错误日志如下:

Caused by: java.io.IOException: Failed to perform GET on: http://10.128.64.2:8081 Reason: Read timed out
        at org.apache.activemq.util.IOExceptionSupport.create(IOExceptionSupport.java:34) ~[activemq-client-5.14.5.jar!/:5.14.5]
        ... 2 more
Caused by: java.net.SocketTimeoutException: Read timed out

任何帮助

谢谢

标签: httpactivemqsocket-timeout-exception

解决方案


与此同时,我找到了问题的原因。使用以下票证为 HTTP 客户端引入了 30 秒的默认套接字超时:https ://issues.apache.org/jira/browse/AMQ-6397

这个超时似乎与保持打开状态大约 30 秒的保持活动请求相冲突。我将默认超时时间增加到 90 秒,这似乎解决了问题(请参阅 HttpClientTransport.java 的附加版本)。

来源:https ://jira.apache.org/jira/browse/AMQ-6949


推荐阅读