获取侦听队列的进程id

xkrw2x1b  于 2021-06-29  发布在  Java
关注(0)|答案(1)|浏览(316)

我使用的是嵌入在jbosseap7.2.0服务器中的apacheactivemq artemis。我已经创建了一个队列,外部应用程序(jboss服务器外部)正在侦听该队列。在jboss管理控制台的runtime选项卡中,我可以看到我的队列有1个监听器,但是几天后我看到监听器的数量增加到2或3个。
是否有任何方法可以获得侦听队列的进程的详细信息?

zf2sa74q

zf2sa74q1#

在您的特定用例中,只有远程使用者位于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"

相关问题