如何在C#中为ActiveMQ队列创建队列浏览器(预览不消耗)?

时间:2009-10-21 13:48:11

标签: c# .net activemq nms

我正在使用NMS API在C#中读/写ActiveMQ,我找不到预览队列中消息的方法。我可以阅读和回滚 - 但这最终会让他们成为DLQ。

在我以前的生活中,TIBCO有一个可以使用的QueueBrowser对象,我认为JMS也有IQueueBrowser。我找不到ActiveMQ .NET等价物。

2 个答案:

答案 0 :(得分:2)

不幸的是,NMS没有支持(至少现在还没有)来自Java的JMS中可用的QueueBrowser API。看看ActiveMQ.NET问题跟踪器数据库中的Issue AMQNET-97 - 团队正在寻找贡献者来实现此功能。

顺便说一下,你不是唯一一个要求这个问题的人 - 这里是关于同一主题的another thread

起初我希望Spring.NET的JMS支持(对于TIBCO)也包括ActiveMQ支持QueueBrowser。不幸的是,事实并非如此 - 根据Spring.NET documentation,只有TIBCO通过Spring.NET的JMS API得到支持:

  

请注意,目前支持JMS   仅为TIBCO的JMS提供   实施命名为TIBCO Enterprise   消息服务(EMS)。没有   其他供应商的根本原因   不受支持。它只是一个   此时的实际原因   .NET中没有事实上的JMS API   每个供应商都需要   实行。因此,每个供应商都会结束   创建自己的.NET灵感   Java JMS API的副本。开放   源项目.Net消息服务   API(NMS)的目标是提供这样的   常见的API很可能会   用于未来的JMS工作   Spring.NET。

因此,总而言之,除非您愿意使用Java编写代码(或使用.NET-to-Java interop mechanisms之一调用java库),否则我认为您不会轻易获得QueueBrowser在短期内,虽然长期这个功能可能会在某个时候进入NMS。

答案 1 :(得分:2)

实际上,ActiveMQ支持JMX,因此您可以使用.NET JMX库(google netMX)为其构建一个