如何在C#中为ActiveMQ队列创建队列浏览器(预览不消耗)?
题
我正在使用NMS API在C#中读/写ActiveMQ,我找不到预览队列中消息的方法。我可以阅读和回滚 - 但这最终会让他们成为DLQ。
在我以前的生活中,TIBCO有一个可以使用的QueueBrowser对象,我认为JMS也有IQueueBrowser。我找不到ActiveMQ .NET等价物。
解决方案
不幸的是,NMS没有支持(至少还没有) QueueBrowser API在Java的JMS中可用。在ActiveMQ.NET问题跟踪器数据库中查看发布AMQNET-97 - 该团队正在寻找贡献者来实现此功能。
顺便说一下,你不是唯一一个要求这个的人 - 这是关于同一主题的另一个主题。起初我希望Spring.NET的JMS支持(对于TIBCO)也包括ActiveMQ支持QueueBrowser。不幸的是,情况并非如此 - 根据 Spring.NET文档,只有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互操作机制),我认为你很难在QueueBrowser中获得简短的知识术语,虽然长期这个功能可能会在某个时候进入NMS。
其他提示
实际上,ActiveMQ支持JMX,因此您可以使用.NET JMX库(google netMX)为其构建一个