.NET中的JMS等效技术

7
我正在尝试在公司的消息基础设施上创建一个通用的抽象接口。设计目标有两个:一是隐藏开发人员的编程复杂性(我知道它并不是非常复杂,但仍需进一步简化),二是使开发人员独立于特定厂商的消息基础设施(即可以是MQSeries或EMS或MSMQ)。
最常见的选择是在消息基础设施上使用WCF层。使用MQSeries WCF自定义通道或使用EMS WCF自定义通道。但由于缺乏正确的MQSeries和EMS版本,这两种方法都被排除了。
请问有人能提供解决此问题的可能方案吗?我所想到的一个方法是像JMS那样拥有一个自定义包装器。之前有人尝试过类似的东西吗?任何帮助都将不胜感激。
顺便说一下,我正在尝试在C# 3.5中创建此包装器。
谢谢。
2个回答

10

NMS,它是JMS协议的.NET实现。它带有一个提供程序,可与ActiveMQ作为底层消息代理一起使用。

另外,值得注意的是,还可以查看一些出色的开源服务总线实现,它们提供进一步有用的消息抽象: NServiceBusMassTransitRhino Service Bus是其中的几个。


@Andy:NMS可以与MQ Series一起使用吗?我看到它支持ActiveMQ、MSMQ和EMS,但没有MQ Series支持。 - rauts
我不相信NMS目前支持MQSeries,除非有人为其编写了提供程序。你总是可以自己编写。不过也许MQSeries附带了自己的.NET互操作库?我进行了快速搜索并找到了:http://blogs.msdn.com/dotnetinterop/archive/2004/11/08/net-and-mqseries.aspx - Andrew Jones
感谢回复,安迪。 MQSeries 附带 .net 互操作库,但是将所有内容放在 NMS 中会更好。看起来我们需要编写自己的包装器。谢谢。 - rauts

2
IBM提供WebSphere MQ的XMS库,它们是JMS协议的.NET实现,可与WebSphere MQ一起使用。
这些库作为免费下载的SupportPac IA9H提供。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接