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

如何在集群环境中的weblogic 11中配置多个MQ队列管理器和连接工厂

汝吕恭
2023-03-14

所以问题来了。我有一个在weblogic 8中运行的应用程序,它严重依赖于JMS消息。消息来自集群MQ服务器,ejb 2中的应用程序用于使用weblogic-ejb-jar.xml.中的配置直接在MQ中监听MQ服务器有两个队列管理器和两个不同的连接工厂名称。

    <weblogic-enterprise-bean>
    <ejb-name>MDB_QM1</ejb-name>
    <message-driven-descriptor>
        <destination-jndi-name>QM1</destination-jndi-name>
        <initial-context-factory>weblogic.jndi.WLInitialContextFactory</initial-context-factory>
        <connection-factory-jndi-name>CF1</connection-factory-jndi-name>
    </message-driven-descriptor>
    </weblogic-enterprise-bean>
    <weblogic-enterprise-bean>

    <ejb-name>MDB_QM2</ejb-name>
    <message-driven-descriptor>
        <destination-jndi-name>QM2</destination-jndi-name>
        <initial-context-factory>weblogic.jndi.WLInitialContextFactory</initial-context-factory>
        <connection-factory-jndi-name>CF2</connection-factory-jndi-name>
    </message-driven-descriptor>        
    </weblogic-enterprise-bean>

现在应用程序要迁移到weblogic 10.3,并且配置已经在测试中完成。ejb版本已更改为3,他们在mdbs中使用了注释用于队列配置等。但真正的问题是,应用程序过去直接监听MQ,现在他们配置了一个网桥,将消息从MQ传输到内部队列,mdb将监听该队列。weblogic bridge config中的源MQ队列配置只有一个连接工厂,我不确定是否可以在单个队列中配置多个队列管理器、连接工厂等。但是在生产中会有多个队列管理器等。

我认为如果我为这些队列配置外部服务器,那么集群是可能的。但这也意味着应用程序和weblogic配置的巨大变化。所以我正在寻找的理想解决方案是一种使用现有桥接配置连接到这些多个MQ队列管理器的方法。如果不可能,请建议下一个最好的事情。我对所有想法都持开放态度:)

谢谢

共有1个答案

龙洛城
2023-03-14

WebSphere MQ集群是关于QMGR如何相互通信的,并且不会向应用程序隐藏一个队列有多个物理实例的事实。每个队列管理器实例都需要单独的连接。应用程序需要。。。

  • 为每个队列实例使用一个网桥实例。
  • 配置网桥以同时连接到不同的QMgrs。

无论是谁决定用单个连接工厂配置网桥,都没有考虑底层传输的架构。无论您多么努力,您都无法通过配置来克服这个糟糕的决定。

 类似资料:
  • 我是WebSphere MQ的初学者,我在MQ6上工作,它工作得很好,但现在我安装了MQ7.1,当我试图创建一个新的队列管理器时,我可以创建它,但它不能连接,这给我带来了以下错误: 你对此有什么想法吗?谢谢:)

  • 我在 Linux 平台上安装了 WebSphere MQ 7.1,之后我安装了 WebSphere 消息代理 8.0.0.1。现在,当我尝试创建执行组时,我得到一个异常:原因码 2035。此异常表示用户未经授权连接到队列管理器。我已将此用户添加到 组中。当我使用MQ 7.0.x时,我没有遇到任何这样的问题。我搜索了很多,知道 MQ 7.1 中存在用户 ID 阻塞。但是,我希望此用户能够创建执行组,

  • 我是尝试使用websphereMq和spring jms功能通过soap over jms实现服务的新手。我已经确定下面的事情 生成的绑定文件没有遇到任何错误 队列管理器和队列的状态为已启动并正在运行。 我在尝试将消息放入websphereMQ时遇到以下错误 null

  • 问题内容: 我基于Apache骆驼的应用正在消耗来自IBM队列之一的消息,例如下面是连接工厂的详细信息 消耗和处理并将响应发送到来自消息头的ReplyQueue的骆驼流。 在骆驼标头中,我在JMSReplyQueue下面。您可以看到它是不同的队列管理器,并且该队列管理器来自不同的主机,但是在集群环境中。 队列管理器也在两者之间。喜欢 以下是我在发送消息时遇到的异常。 任何人都可以帮助我将消息发送到

  • 问题内容: 我基于Apache骆驼的应用正在消耗来自IBM队列之一的消息,例如下面是连接工厂的详细信息 消耗和处理并将响应发送到来自消息头的ReplyQueue的骆驼流。 在骆驼标头中,我在JMSReplyQueue下面。您可以看到它是不同的队列管理器,并且该队列管理器来自不同的主机,但是在集群环境中。 队列管理器也在两者之间。喜欢 以下是我在发送消息时遇到的异常。 任何人都可以帮助我将消息发送到

  • 使用节点。js集群支持,我希望主进程生成添加到Redis队列的数据项。然后,我想运行多个读取Redis队列的工作进程。当然,只有一个工作进程应该使用从队列中检索到的数据项。 为了让我开始学习,您能建议从节点包支持或原始Redis命令的角度来完成这项工作吗?让我强调一下,消费者是节点中独立的进程。js集群环境,我们可以在其中调整竞争从单个Redis队列读取的工作进程的数量,以调整整体系统性能。