4

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

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

4

2 回答 2

2

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

顺便说一句,你不是唯一一个要求这个的人——这是关于同一主题的另一个线程。

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

请注意,目前仅为 TIBCO 的名为 TIBCO Enterprise Message Service (EMS) 的 JMS 实现提供 JMS 支持。没有根本原因不支持其他供应商。这只是一个实际的原因,因为在 .NET 中并没有每个供应商都需要实现的事实上的 JMS API。因此,每个供应商最终都会创建自己的受 .NET 启发的 Java JMS API 副本。开源项目 .Net 消息服务 API (NMS) 的目标是提供这样一个通用 API,它很可能会用于 Spring.NET 中的未来 JMS 工作。

因此,总而言之,除非您愿意用 Java 编写代码(或使用.NET-to-Java 互操作机制之一调用 Java 库),否则我认为您不容易使用 QueueBrowser在短期内,虽然从长远来看,这个功能可能会在某个时候进入 NMS。

于 2009-10-23T18:19:23.707 回答
2

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

于 2009-10-29T09:26:50.000 回答