【问题标题】:Spring integration support for Clustered/high availability IBM MQ manager对集群/高可用性 IBM MQ 管理器的 Spring 集成支持
【发布时间】:2016-07-18 19:01:20
【问题描述】:

我正在使用 spring 集成来连接 IBM MQ。我的 spring 集成应用程序与 IBM MQ 成功连接。现在 MQ 团队将 MQ 管理器作为集群管理器,即队列管理器包含 2 台主机,一台是主动的,一台是被动的,因为如果一台主机关闭,被动的主机将启动并运行。 下面是我对 MQ 的 spring 集成配置,我只能通过一个主机。

<bean id="mqQueueConnectionFactory" class="com.ibm.mq.jms.MQQueueConnectionFactory">
        <property name="hostName" value=""/>
        <property name="port" value=""/>
        <property name="channel" value=""/>
        <property name="queueManager" value=""/>
        <property name="transportType" value="1"/>
    </bean>

有什么方法可以让我们从配置中同时传递主动和被动主机。我尝试在主机中使用逗号,但不支持。

请推荐

【问题讨论】:

  • 您是否可以使用 CCDT 而不是将详细信息硬编码到配置中?
  • @Morag:我没有硬编码上下文文件中的值。我正在从属性文件中读取这些值
  • 但它们在属性文件中被硬编码是我的观点。如果您使用 CCDT,那么您可以从任意数量的目标队列管理器中进行选择,并在需要时灵活地更改它们。
  • 好的,我明白了你的意思,我认为这是非常好的建议。你有 CCDT 的例子吗?

标签: spring-integration ibm-mq


【解决方案1】:

您应该在属性 connectionNameList 下指定主机,不要使用主机名和端口。

http://www-01.ibm.com/support/docview.wss?uid=swg21397867

Multi Instance MQ set up

【讨论】:

  • 谢谢阿提拉。我也会试试这个。
  • 以下配置在高可用性 MQ 环境中对我有用。
【解决方案2】:

ConnectionNameList 将允许通过主动和被动主机

 <bean id="mqQueueConnectionFactory" class="com.ibm.mq.jms.MQQueueConnectionFactory">
        <property name="connectionNameList" value="activeHost(port),passiveHost(port)"/>
        <property name="channel" value="channel Name"/>
        <property name="queueManager" value="Queue Manager name"/>
        <property name="transportType" value="transport type"/>
  </bean>

【讨论】:

  • 如果@AttilaRepasi 提供了答案,您应该接受不要自己编写。如果您想像在此处那样传递确切的语法,最好将其作为对您的任务的编辑,并在末尾添加“解决方案”之类的内容。
猜你喜欢
  • 2020-04-02
  • 2015-11-24
  • 1970-01-01
  • 2012-12-14
  • 1970-01-01
  • 2017-06-04
  • 2022-11-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多