Weblogic到JBoss JNDI-JMS队列使用者和发布者

时间:2019-01-23 10:40:07

标签: jboss jms weblogic jndi

我正在研究一个JMS队列托管在JBoss EAP 6实例上的示例(一个用于请求,另一个用于响应)。我还有一个在Weblogic托管服务器上运行的应用程序。

我想建立一种机制,使运行在Weblogic上的应用程序能够使用添加在JBoss托管的Request队列上的消息。应用程序还应该能够将消息发布到“请求”队列(也托管在JBoss上)

我在Oracle文档中了解了外国JNDI提供程序,并且发现的大多数示例都是Weblogic到远程Weblogic的连接以及Weblogic到远程LDAP的连接。我担心的是针对Weblogic和JBoss的 javax.naming.InitialContext 实现上的差异(是否兼容)。

有人对此有任何建议吗?

1 个答案:

答案 0 :(得分:0)

JBoss EAP的JNDI实现或JMS实现都不会与Weblogic兼容。但是,这不应该成为问题,因为只要配置正确,两个应用程序都可以使用它们。

考虑一个独立的JMS应用程序,该应用程序使用来自JMS提供程序X的消息并将消息发送到JMS提供程序Y。它将首先使用来自JMX提供程序X的JNDI实现来查找JMS连接工厂和队列。该查询将从提供者X返回正确的JMS实现对象。应用程序将使用这些对象来消耗队列中的消息。然后它将使用来自JMX提供者Y的JNDI实现来查找第二个JMS连接工厂和队列。该查找将从提供者Y返回正确的JMS实现对象。只要每个查找的JNDI InitialContext属性都正确并且所有实现类都在应用程序的类路径上,那么一切都会正常工作。

Weblogic中的情况与此类似。您只需要为外部JNDI提供程序配置正确的属性,将正确的实现类放在类路径上,然后在JNDI查找中使用所有正确的名称即可。