问题描述
我正在使用嵌入在 JBoss EAP 7.2.0 服务器中的 Apache ActiveMQ Artemis。我创建了一个队列,并且外部应用程序(JBoss 服务器外部)正在侦听该队列。在 JBoss 管理控制台的运行时选项卡中,我可以看到我的队列有 1 个侦听器,但几天后我看到侦听器的数量增加到 2 或 3 个。
解决方法
在您的特定用例中,您的 EAP 服务器的同一主机上只有远程消费者,您可以使用以下命令获取所有连接的进程(请注意,这不包括您也有内部消费者的情况与您的服务器和/或外部主机上的远程使用者的进程 ID 相同)。
$ lsof -Pni | grep ">127.0.0.1:8080"
java 25322 fvaleri 230u IPv4 0x97a3c5aa109b7ebd 0t0 TCP 127.0.0.1:55058->127.0.0.1:8080 (ESTABLISHED)
然后,每个连接都可能打开了多个会话,您可以使用以下命令找到这些会话(将 TestQueue 替换为您的队列名称)。
$ $EAP_HOME/bin/jboss-cli.sh -c --command="/subsystem=messaging-activemq/server=default/jms-queue=TestQueue:list-consumers-as-json"