我正在使用JMS连接器连接到IBM MQ。如果使用IBM MQ连接器,则可以使用选项(targetClient="NO_JMS_COMPLIANT"
)禁用消息中的RFH标头。如何使用JMS连接器实现相同的目的。我的JMS配置如下所示
<jms:config name="JMS_Config" doc:name="JMS Config" doc:id="b675becf-06f3-4847-bb95-4f468d5353ea" >
<jms:generic-connection specification="JMS_2_0" connectionFactory="WMQ_ConnectionFactory" />
</jms:config>
连接工厂如下所示:
<bean id="WMQ_ConnectionFactory" class="com.ibm.mq.jms.MQConnectionFactory" name="WMQ_ConnectionFactory">
<property name="transportType" value="1" />
<property name="hostName" value="MQ-SLQ01"/>
<property name="port" value="1414"/>
<property name="queueManager" value="SLQ01"/>
<property name="channel" value="*******"/>
</bean>
JMS连接器配置如下所示:
<jms:publish-consume doc:name="Publish consume" doc:id="b1d40cc6-deb0-42f0-aa50-4b230d843794" config-ref="JMS_Config" destination="P2.REQUEST" sendCorrelationId="ALWAYS">
<jms:message >
<jms:reply-to destination="P2.REPLY" />
</jms:message>
</jms:publish-consume>
我尝试使用添加请求队列名称P2.REQUEST?targetClient=1
。我看不到任何变化。
我怀疑JMS连接器是否允许选择特定于代理(IBM MQ)的非JMS兼容模式。它是一个通用连接器,不提供特定于代理的功能。您应该将IBM MQ连接器用于已经提供该特定功能的连接器。