Java和MSMQ

我很好奇是否有人对Java库提供了访问MSMQ的建议? 我已经下载了J-Integra Java-COM库的试用版,并构建并运行了他们的MSMQ示例应用程序,但我很好奇是否有任何好的(免费:))替代品。 我遇到了一些JNI实现,比如jMSMQ和其他几个,但是如果可能的话我宁愿避免使用JNI。

我们还调查了一些.NET JMS互操作解决方案,如JNBridge(使用ActiveMQ)。 我认为我们公司已经决定将我们的排队集中在MSMQ中,因此这将是我们理想的解决方案。

我们希望在.NET端使用WCF(netMsmq或msmqIntegration)。 我有点担心java方面将如何处理WCF消息(二进制编码),但那里应该有选项(带文本编码和MSMQ传输的customBinding?),所以我不太担心。 主要担心在Java中访问MSMQ。

我们的另一个选择是在每个队列的输入端放置一个瘦Web服务层,并以这种方式实现互操作。 然而,性能是一个值得关注的问题。

有什么建议么? 非常感谢任何人的时间。

据我所知,J-Integra是MSMQ唯一的纯Java实现,即如果你不在Windows上运行,这是唯一的选择。 (如果还有其他选择,请告诉我!)

Apache Camel和其他人使用JNI来访问Windows API(DLL文件),这显然意味着它只适用于Windows。

我目前正在尝试这里提供的代码http://www.codeplex.com/MsmqJava ,它似乎很简单,但我不确定交易是如何工作的。

CodePlex上有一个开源库: MsmqJava 。 自由。

您也可以尝试http://javamsmq.codeplex.com/ ,它也提供了MSMQ JAVA互操作性的完整解决方案。同样具有Unicode ASCII的所有function。在其他基于dll的开源中存在内存泄漏问题,如应用程序崩溃但是这个开源没有任何内存泄漏问题。

我是jni4net的作者, jVM和CLR之间的开源内部进程桥。 它建立在JNI和PInvoke之上。 不需要C / C ++代码。 我希望它会对你有所帮助。

更新 :此评论不再适用于每条评论:

Camel msmq组件已停产: fusesource.com/forums/thread.jspa?messageID=6040

您可以看看Apache Camel是如何做到的: Apache Camel:msmq