当前位置: 首页 > 面试题库 >

Java和MSMQ

凤高澹
2023-03-14
问题内容

我很好奇,是否有人对提供对MSMQ的访问的Java库有任何建议?我已经下载了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此处提供的代码,该代码使用起来似乎很简单,但是我不太确定事务的工作方式。



 类似资料:
  • 问题内容: 我对单个文件数据库提供的简洁性感到着迷。可以使用哪些驱动程序/连接器库来连接SQLite并将其与Java一起使用。 我发现了一个包装器库http://www.ch-werner.de/javasqlite,但是还有其他更著名的项目吗? 问题答案: 在使用SQLite和Java 搜索信息时找到了你的问题。只是想我要补充我的回答,我也贴在我的博客。 我已经用Java编码了一段时间了。我也了

  • 我的第二个问题是:为什么在获得session.setAttribute()之后必须使用它来打印新值。我的逻辑如下。正如我们所知,每个servlet只实例化一次--我获取属性(session.getAttribute(COUNTER)),检查我是否不同于null,然后递增它,如果我注释setAttribute,我将无法看到新的递增值。为什么我必须重新设置才能得到正确的值?当我按refresh时,我发

  • 这个示例代码来自一本Java书籍,从墙上的99瓶啤酒到没有啤酒打印出这首歌。问题是,当墙上是1瓶啤酒时,它仍然写着瓶子。我试图通过在末尾添加部分来解决这个问题。但是,它仍然显示1瓶啤酒在墙上,我瓶啤酒在墙上。 我不知道该改变什么来解决这个问题。是否创建另一个while部分? 如果你能给他们一个提示,这样我就可以自己解决它,那也很酷!因为我知道我的实际歌曲输出是在第一个if部分,但我不知道我应该在哪

  • 问题内容: 在Linux中,是否可以在tomcat6上部署使用Java 7编写的Web应用程序?如果是这样,需要修改什么配置才能使其正常工作? 我已经尝试过更改文件中的变量并重新启动,但是根据tomcat管理器网页,它仍在使用1.6,并且只有以1.6或更低版本编写的应用程序才能正确部署。 我在不同位置安装了jdk 1.6和1.7。 问题答案: 使用Java JDK 1.7.0编译servlet时遇

  • 问题内容: 在阅读了Java HttpURLConnection上的所有文档之后,我仍然很困惑,因为它执行哪种池化以及如何处理连接。 例如下面的代码 是否都需要冲洗并关闭两者,以使基础套接字可重复使用? 是否会关闭底层套接字(从而使其无法重用)?是否会影响这种行为? 如果我使用不同的URL对象,但具有相同的URL,则从它们创建的s是否共享底层套接字?URL的主机部分相同但路径不同时如何? 何时会破

  • 问题内容: 我已经构建了一个Java程序作为服务器上数据库的前端,并且正在尝试使用SSL加密客户端和服务器之间的流量。这是我发出的用于创建服务器证书的命令: 以下是相关代码: 当我尝试运行此命令时,我发现了这一点: java.security.NoSuchAlgorithmException:构造实现时出错(算法:默认,提供程序:SunJSSE,类:com.sun.net.ssl.internal