我正在使用spring集成来连接IBM MQ。我的spring集成应用程序与IBM MQ成功连接。现在,MQ团队将MQ管理器作为集群管理器,即队列管理器包含2个主机,一个主机和一个主机,因为如果一个主机关闭,被动主机将启动并运行。 下面是我的MQ弹簧集成配置,我只能传递一个主机。
public class VisualLedPanel
{
private readonly Lazy<List<VisualLed>> _lazyVisualLeds = new Lazy<List<VisualLed>>(CreateVisualLeds);
public VisualLed this[int x, int y]
{
get
{
var result = VisualLeds.FirstOrDefault(f => f.X == x && f.Y == y);
return result;
}
}
public IEnumerable<VisualLed> VisualLeds
{
get
{
return _lazyVisualLeds.Value;
}
set
{
var tt = value;
}
}
private static List<VisualLed> CreateVisualLeds()
{
var result = new List<VisualLed>();
for (var x = 0; x <= 7; x++)
{
for (var y = 0; y <= 7; y++)
{
result.Add(new VisualLed(x, y));
}
}
return result;
}
}
我们有什么方法可以从配置中传递主动和被动主机。我尝试使用主机中的逗号,但不支持。
请建议
答案 0 :(得分:1)
您应该在属性connectionNameList下指定主机,不要使用hostName和port。
答案 1 :(得分:1)
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>