我配置了两台服务器,一个Active MQ和一个WebSphere MQ 8.0,为了相互通信,我在中间配置了一个Apache Camel,它接收来自Active MQ的消息并将它们发送到WebSphere。现在Camel能够从活动MQ服务器接收消息,但是当它尝试将它们发送到WebSphere MQ时,它会抛出错误:
AMQ9204:连接主机'10.0.0.122(1414)'被拒绝。[1=com.ibm.mq. jms . jmqiexception [CC=2;RC=2540;AMQ9520:通道未远程定义。][3 = channel.test]], 3 = 10.0.0.122 (1414), 5 = RemoteConnection.analyseErrorSegment]
我可以用一个用户将Camel连接到WebSphere QueueManager,但不能连接到创建的通道,为了连接到WebSphere服务器,Camel端的配置是:
<bean id="weblogicConnectionFactory"
class="com.ibm.mq.jms.MQConnectionFactory">
<property name="hostName" value="10.0.0.122"/>
<property name="port" value="1414"/>
<property name="queueManager" value="TESTQ"/>
<property name="channel" value="channel.test"/>
<property name="transportType" value="1"/>
</bean>
<bean id="myProxyConnectionFactory" class="org.springframework.jms.connection.UserCredentialsConnectionFactoryAdapter">
<property name="targetConnectionFactory" ref="weblogicConnectionFactory"/>
<property name="username" value="administrator"/>
<property name="password" value="control123!"/>
</bean>
<bean id="weblogicConfig"
class="org.apache.camel.component.jms.JmsConfiguration">
<property name="connectionFactory" ref="weblogicConnectionFactory"/>
<property name="concurrentConsumers" value="10"/>
</bean>
<bean id="weblogic"
class="org.apache.camel.component.jms.JmsComponent">
<property name="configuration" ref="weblogicConfig"/>
</bean>
我创建服务器连接通道的方法是转到WebSphere MQ资源管理器,选择队列管理器,创建新的服务器连接通道,在MCA用户字段中设置适当的用户名。
作为@shashi在下面的回答中的建议,我运行命令DIS CHANNEL(),输出如下:
1 : DIS CHANNEL('channel.test')
AMQ8414: Display Channel details.
CHANNEL(channel.test) CHLTYPE(SVRCONN)
ALTDATE(2015-07-22) ALTTIME(00.16.25)
COMPHDR(NONE) COMPMSG(NONE)
DESCR( ) DISCINT(0)
HBINT(300) KAINT(AUTO)
MAXINST(999999999) MAXINSTC(999999999)
MAXMSGL(4194304) MCAUSER(mqm)
MONCHL(QMGR) RCVDATA( )
RCVEXIT( ) SCYDATA( )
SCYEXIT( ) SENDDATA( )
SENDEXIT( ) SHARECNV(10)
SSLCAUTH(REQUIRED) SSLCIPH( )
SSLPEER( ) TRPTYPE(TCP)
任何帮助都会很有帮助
Thanks in advance
MQRC 2540表示队列管理器不能识别客户机提供的通道名称。
在MQ中,对象名称是区分大小写的。确保您在Camel配置中提供的通道名称与您在MQ Explorer中创建的通道名称匹配。