问题描述
|
我们正在使用Tibco EMS队列发送消息。我们是出版商。每当我们发布消息时,似乎有人正在使用它。当我们问另一个正在订阅的团队时,他们说他们没有消费。
是否可以知道谁连接到EMS队列并使用消息?
解决方法
如果您有权访问EMS仪表板实用程序,则调出服务器上所有队列的视图,然后右键单击您感兴趣的队列并选择\“ Consumers \”,它将为您提供一个谁附加到队列的详细视图。
如果您没有仪表板应用程序,则可能需要麻烦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>
, 您可以很好地使用TIBCO EMS随附的工具。还有一个非常好的工具叫做“ Gems”,它为您提供了像EMS这样的高级用户。当我必须进行一些监视时(例如与您的情况类似),我通常更喜欢宝石
这是宝石的教程。 http://www.youtube.com/watch?v=GvRN1auqXvE
, 您可以像以前一样使用TibjmsAdmin.getConsumers()来获取所有消费者信息。
即使从队列中。
如果您有多个使用者,是否应该使用主题而不是队列?
public ConsumerInfo [] getConsumers(java.lang.Long connectionID,
java.lang.String用户名,
DestinationInfo目的地,
布尔型耐用,
int dataFlags)
引发TibjmsAdminException
, 队列用于点对点通信。
官方上只有一个订阅者,
您可以显示队列并找出队列的订户数。