ActiveMQ是否使用activemq.xml中提到的端口以外的端口?
<transportConnectors>
<transportConnector name="openwire" uri="tcp://0.0.0.0:12005?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
</transportConnectors>
在托管环境中,我们使用MQ开始引发警报,因为它正在使用突然的端口数。 我在日志中看到了这一点:
WARN | Transport Connection to: tcp://127.0.0.1:41515 failed: java.net.SocketException: Connection reset
WARN | Transport Connection to: tcp://127.0.0.1:41514 failed: java.net.SocketException: Connection reset
WARN | Transport Connection to: tcp://127.0.0.1:41549 failed: java.net.SocketException: Connection reset
WARN | Transport Connection to: tcp://127.0.0.1:41548 failed: java.net.SocketException: Connection reset
这只是许多与端口相关的WARN消息的一部分。 我们的IT人员告诉我,嗅探工具拾取了AMQ使用的多个未申报端口。
我的问题:
为什么MQ尝试使用尚未声明的端口 conf文件?
为什么MQ需要这么多端口?
有没有办法知道AMQ可能使用的端口或端口范围是什么?
我正在使用Active MQ 5.10,JDK 1.7
答案 0 :(得分:2)
您提到的端口不是ActiveMQ使用的侦听端口。
它们只是连接到ActiveMQ的客户端使用的端口。单个TCP连接(客户端和服务器)中始终有两个端口。在这种情况下,服务器端口始终是您声明的12005.操作系统将选择客户端端口,通常是“下一个可用”。在这种情况下,似乎有一些客户端连接在没有正确断开的情况下快速中止。