微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

获取正在侦听队列的进程 ID

如何解决获取正在侦听队列的进程 ID

我正在使用嵌入在 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"

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。