ActiveMQ Artemis 错误 - AMQ224088:发生握手时超时(10 秒)

ActiveMQ Artemis Error - AMQ224088: Timeout (10 seconds) while handshaking has occurred

在ActiveMQ Artemis 中,我偶尔会收到以下连接错误。我看不到对代理或消息队列有任何明显影响。 谁能确切地告诉我它的含义或它可能产生的影响?

当前执行的操作是重新启动代理或检查它们是否仍连接到集群。 是否需要执行这两项操作?

当前部署的 ActiveMQ Artemis 版本是 v2.7.0。

//每月至少收到一次错误日志行

   2019-05-02 07:28:14,238 ERROR [org.apache.activemq.artemis.core.server] AMQ224088: *Timeout (10 seconds) while handshaking* has occurred.

此错误表明网络上的某些东西正在连接到 ActiveMQ Artemis 代理,但它没有完成任何协议握手。例如,这在负载均衡器中很常见,负载均衡器通过创建套接字连接来进行健康检查,而不发送任何真实数据,只是为了查看目标机器上的端口是否打开。

超时是可配置的,因此 ERROR 消息不会被记录,但这也会禁用清理,这在您的用例中可能是也可能不是问题。您应该能够在 broker.xml.

中的相关接受器 URL 上设置 handshake-timeout=0

当您看到此消息时,应该不需要重新启动代理。

在接下来的 ActiveMQ Artemis 发布中,发起连接的远程客户端的 IP 地址将作为消息的一部分包含在内。