Active MQ

时间:2015-04-30 16:57:58

标签: activemq

ActiveMQ是否使用activemq.xml中提到的端口以外的端口?

<transportConnectors>
    <transportConnector name="openwire" uri="tcp://0.0.0.0:12005?maximumConnections=1000&amp;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使用的多个未申报端口。

我的问题:

  1. 为什么MQ尝试使用尚未声明的端口 conf文件?

  2. 为什么MQ需要这么多端口?

  3. 有没有办法知道AMQ可能使用的端口或端口范围是什么?

  4. 我正在使用Active MQ 5.10,JDK 1.7

1 个答案:

答案 0 :(得分:2)

您提到的端口不是ActiveMQ使用的侦听端口。

它们只是连接到ActiveMQ的客户端使用的端口。单个TCP连接(客户端和服务器)中始终有两个端口。在这种情况下,服务器端口始终是您声明的12005.操作系统将选择客户端端口,通常是“下一个可用”。在这种情况下,似乎有一些客户端连接在没有正确断开的情况下快速中止。