我正在使用NMS API在C#中读/写ActiveMQ,我找不到预览队列中消息的方法。我可以阅读和回滚 - 但这最终会让他们成为DLQ。
在我以前的生活中,TIBCO有一个可以使用的QueueBrowser对象,我认为JMS也有IQueueBrowser。我找不到ActiveMQ .NET等价物。
答案 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)为其构建一个