当前位置: 首页 > 知识库问答 >
问题:

Weblogic到JBoss JNDI-JMS队列消费者和发布者

郏正信
2023-03-14

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

我想设置一种机制,允许运行在Weblogic上的应用程序能够使用添加到JBoss上的请求队列上的消息。此外,应用程序应该能够将消息发布到请求队列(也托管在JBoss上)

我在Oracle文档中读到了关于外国JNDI提供程序的信息,我找到的大多数html" target="_blank">示例是Weblogic到远程Weblogic连接和Weblogic到远程LDAP。我担心的是Weblogic和JBoss在javax.naming.初始上下文的实现上的差异(它是否兼容)。

有人对此有什么建议吗?

共有1个答案

萧晓博
2023-03-14

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查找中使用所有正确的名称。

 类似资料:
  • 我有一个由第三方发布的JMS队列。我想在不同的机器上设置多个使用者,只有一台特定机器的使用者确认该队列上的消息。简而言之,如果特定机器的使用者没有接收到消息,那么该消息不应从队列中删除。这是可以实现的吗?

  • 下面是我们设置的简化/示意图拓扑 每个节点(服务器)都是一个独立的(无集群)jboss应用服务器(Jboss-as7),包括消息传递服务器。 消息传递服务器部署许多JMS队列。 每个任务服务器为每个队列部署一个MDB,每个队列有许多使用者。 所有消息生产者使用相同的入站适配器,所有消息使用者使用相同的出站适配器。事实上,所有前端节点都是完全相同的(与所有服务器节点相同,配置相同,部署的工件相同)。

  • 问题内容: 我有一个JMS客户端,它正在生成消息并通过JMS队列发送到其唯一的使用者。 我想要的是不止一个消费者收到这些消息。我想到的第一件事是将队列转换为主题,以便现有用户和新用户都可以订阅并将相同的消息传递给他们。 显然,这将涉及在生产者和消费者方面修改当前的客户代码。 我还要查看其他选项,例如创建第二个队列,这样就不必修改现有的使用者。我相信这种方法有很多优点,例如(如果我错了,请纠正我)在

  • 我试图通过驼峰路由将消息放到Weblogic JMS中的队列中。 我的目标是最终配置一个Route以使用来自jms队列的消息,我将早期Route的数据发布到该队列。 这是我的配置: 我的路线如下所示: 我尝试执行此路由时遇到此异常: 我按照以下过程创建了此处提到的队列:https://blogs.oracle.com/soaproactive/entry/how_to_create_a_simpl

  • 我是JMS新手,经过长时间的搜索,我搜索出了一个连接到JMS的代码,并发布了一条消息。 问题是我需要在远程队列中发布消息,但我不知道如何建立连接到它并发布消息。 服务器类型:TIBCO EMS 服务器主机:******。net 端口:**USername:user passsbrow:user123 队列:**。。。。顺序经营1. 我想建立连接,发布一条简单的消息,然后把它取回。请帮忙!提前谢谢

  • 我有一个向rabbitmq发送消息的服务,消费者对消息进行一些操作并重新排队。 我可以成功地将初始消息发送给rabbitmq,但问题是,如果消息需要修改,我无法将任何已使用的消息重新发送给rabbitmq。 我试图用new创建一个新类,但“MyService”始终为空