我们正在使用 Tibco EMS 队列来发送消息。我们是出版商。每当我们发布消息时,似乎有人在消费它。当我们问另一个订阅的团队时,他们说他们没有消费。
是否可以知道谁连接到 EMS 队列并使用消息?
我们正在使用 Tibco EMS 队列来发送消息。我们是出版商。每当我们发布消息时,似乎有人在消费它。当我们问另一个订阅的团队时,他们说他们没有消费。
是否可以知道谁连接到 EMS 队列并使用消息?
如果您可以访问 EMS 仪表板实用程序,然后调出服务器上所有队列的视图,然后右键单击您感兴趣的队列并选择“消费者”,它将为您提供有关谁的详细视图附加到队列。
如果您没有仪表板应用程序,那么您可能需要向您的 EMS 管理员索取副本。它是标准安装的一部分,所以他们会拥有它。
ssl://corelayer:6223> show consumers queue=pub_queryMapsRequest.v1.queue.domainA.App.query.d1.eu_e1
Msgs Sent
Id Conn User T Queue SAS Sent Size Uptime
6544 5995 app_domain_d1 Q pub_queryMapsRequest.v1.queue.domainA.App.query.d1.eu_e1 +C- 0 0 0:09:42
6545 5996 app_domain_d1 Q pub_queryMapsRequest.v1.queue.domainA.App.query.d1.eu_e1 +C- 0 0 0:09:42
6546 5997 app_domain_d1 Q pub_queryMapsRequest.v1.queue.domainA.App.query.d1.eu_e1 +C- 0 0 0:09:42
6547 5998 app_domain_d1 Q pub_queryMapsRequest.v1.queue.domainA.App.query.d1.eu_e1 +C- 0 0 0:09:42
ssl://corelayer:6223>
You could very well use the tools that come with TIBCO EMS. There is also a very good tool called "Gems" which gives you a power-user like control over EMS. I usually prefer Gems when I have to do some monitoring (something like your case)
Heres a tutorial for Gems. http://www.youtube.com/watch?v=GvRN1auqXvE
You can use TibjmsAdmin.getConsumers() as in to get all consumer information. Even from a queue. Shouldn't you use topics instead of queues if you have multiple consumers ?
public ConsumerInfo[] getConsumers(java.lang.Long connectionID, java.lang.String username, DestinationInfo destination, boolean durable, int dataFlags) throws TibjmsAdminException
队列用于点对点通信。官方应该只有一个订阅者,你可以做显示队列并找出队列的订阅者数量。