【发布时间】:2011-09-05 14:13:56
【问题描述】:
我们正在使用 Tibco EMS 队列来发送消息。我们是出版商。每当我们发布消息时,似乎有人在消费它。当我们询问其他订阅的团队时,他们说他们没有消费。
是否可以知道谁连接到 EMS 队列并使用消息?
【问题讨论】:
标签: c# producer-consumer tibco tibco-ems ems
我们正在使用 Tibco EMS 队列来发送消息。我们是出版商。每当我们发布消息时,似乎有人在消费它。当我们询问其他订阅的团队时,他们说他们没有消费。
是否可以知道谁连接到 EMS 队列并使用消息?
【问题讨论】:
标签: c# producer-consumer tibco 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>
【讨论】:
您可以很好地使用 TIBCO EMS 附带的工具。还有一个非常好的工具,叫做“Gems”,它可以让您像高级用户一样控制 EMS。当我必须进行一些监控时(例如您的情况),我通常更喜欢 Gems
【讨论】:
您可以使用 TibjmsAdmin.getConsumers() 来获取所有消费者信息。 即使从队列中。 如果您有多个消费者,您不应该使用主题而不是队列吗?
public ConsumerInfo[] getConsumers(java.lang.Long connectionID, java.lang.String 用户名, DestinationInfo 目的地, 布尔持久型, 整数数据标志) 抛出 TibjmsAdminException
【讨论】:
队列用于点对点通信。 官方应该只有一个订阅者, 您可以显示队列并找出队列的订阅者数量。
【讨论】: