http - 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
任何帮助
谢谢
解决方案
与此同时,我找到了问题的原因。使用以下票证为 HTTP 客户端引入了 30 秒的默认套接字超时:https ://issues.apache.org/jira/browse/AMQ-6397
这个超时似乎与保持打开状态大约 30 秒的保持活动请求相冲突。我将默认超时时间增加到 90 秒,这似乎解决了问题(请参阅 HttpClientTransport.java 的附加版本)。
推荐阅读
- angular - 如何创建应用配置服务以在 Angular 6 中配置 ngbTooltips?
- kdb - 即使是 -11!(-2;`path) 出现 wsfull 错误时如何重播 TP 日志文件
- java - 使用 Jsoup 从 HTML 表中提取数据
- c# - 没有额外存储库模式的 EF Core
- java - @DirtiesContext 不清除数据库
- r - 将因子变量标签转换为具有相同标签值的数字的说明?
- javascript - 使用内部 html 创建 Vue 实例
- javascript - 将 firebase.firestore.FieldValue.serverTimestamp( ) 与其他 FieldValue 函数一起使用时,我可以避免 Firestore 事务吗
- python - python 正则表达式如何在两个特定单词之间只提取一个单词
- python - 解析时出现意外的 EOF 错误;错误显示空的不存在的行