【问题标题】:Java and MSMQJava 和 MSMQ
【发布时间】:2010-10-05 02:18:40
【问题描述】:

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

我们还研究了一些 .NETJMS 互操作解决方案,例如 JNBridge(使用 ActiveMQ)。我认为我们公司已经决定将我们的队列集中在 MSMQ 中,所以这将是我们理想的解决方案。

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

我们的另一个选择是在每个队列的输入端放置一个瘦 Web 服务层,并以这种方式实现互操作。然而,那里的性能有点令人担忧。

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

【问题讨论】:

    标签: java interop msmq


    【解决方案1】:

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

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

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

    【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

        CodePlex 上有一个开源库:MsmqJava。免费。

        【讨论】:

        • 在自述文件中,我看到“要运行 java 应用程序,您可以使用 runJavaClient.cmd 命令文件。这设置了必要的类路径和路径。您可以运行 .NET 版本而无需任何额外的设置。”找不到“runJavaClient.cmd”文件。你能帮我解决这个问题吗?
        【解决方案5】:

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

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

        我目前正在试用http://www.codeplex.com/MsmqJava 此处提供的代码,该代码似乎易于使用,但我不确定事务是如何工作的。

        【讨论】:

        • 我没有对 MsmqJava 中的事务做任何事情。 MsmqJava 还依赖于 JNI 到 MSMQ Win32 api。我不知道更好的方法来做到这一点。 MSMQ 不提供(记录在案的)远程接口。
        • J-Integra 也不是完全纯粹的,因为它不使用其端口和协议直接与 MSMQ 通信。客户端可以在非 Windows 机器上运行,但它连接到 DCOM,然后连接到 MSMQ。
        • "Apache Camel 和其他使用 JNI 来访问 Windows API(DLL 文件),这显然意味着 仅适用于 Windows" - MSMQ是仅限 Windows
        猜你喜欢
        • 2013-10-10
        • 1970-01-01
        • 1970-01-01
        • 2011-01-10
        • 1970-01-01
        • 1970-01-01
        • 2023-03-30
        • 2012-08-12
        • 2011-11-18
        相关资源
        最近更新 更多