在通过JMS桥将消息发布到IBM MQ时禁用RFH2标头

时间:2016-10-10 08:17:09

标签: activemq ibm-mq

我将消息发布到ActiveMQ队列(TEST.AMQ.QUEUE),该队列通过activmq.xml中的以下配置桥接到IBM MQ队列(TEST.IBM-MQ.QUEUE):

<bean id="remoteFactory"
    class="org.springframework.jms.connection.UserCredentialsConnectionFactoryAdapter">                                              
        <property name="username" value="***"></property>
        <property name="password" value="***"></property>
        <property name="targetConnectionFactory">
            <bean class="com.ibm.mq.jms.MQQueueConnectionFactory">
                <property name="hostName" value="1*.2*6.**.***" />
                <property name="port" value="1*1*" />
                <property name="queueManager" value="Q****HUB" />
                <property name="channel" value="Q*****D" />
                <property name="transportType" value="1" />
            </bean>
        </property>
</bean>

<!-- Configure JMS bridge -->
<jmsBridgeConnectors>
    <jmsQueueConnector outboundQueueConnectionFactory="#remoteFactory">
        <outboundQueueBridges>
            <outboundQueueBridge outboundQueueName="TEST.IBM-MQ.QUEUE" />
        </outboundQueueBridges>
    </jmsQueueConnector>
</jmsBridgeConnectors>

我需要将属性 TARGCLIENT 设置为MQ,以禁用RFH2标头,如何在activemq.xml文件中提供此属性,其中定义了我的网桥配置。

1 个答案:

答案 0 :(得分:0)

可以在队列中设置targetClient属性,但我不确定它适合桥接的位置。

可以尝试这个名字:

队列:///TEST.IBM-MQ.QUEUE targetClient = 1

或者可以定义一个bean,并引用:

<bean id="queue" class="com.ibm.mq.jms.MQQueue"
        depends-on="remoteFactory">
    <property name="baseQueueManagerName" value="*queue manager*" />
    <property name="baseQueueName" value="TEST.IBM-MQ.QUEUE" />
    <property name="targetClient" value="1" />
</bean>