0
votes

I am using JMS Connector to connect to IBM MQ. If I use IBM MQ Connector I have option (targetClient="NO_JMS_COMPLIANT") to disable RFH Header from the message. How can I achieve the same thing using the JMS Connector. My JMS config looks like below

<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>

Connection Factory looks like this:

<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 Connector config looks like this:

<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>

I have tried adding request queue name with P2.REQUEST?targetClient=1. I could not see any changes.

2
Why don't just use the IBM MQ connector? It is designed for that.aled
IBM MQ Connector (publish-consume) version 1.5.3 (latest version is not working ). Ticket is with Mulesoft support.Infinity
That's a different issue than the one stated in this question.aled
I have tried using IBM mq connector which is designed for this purpose as you mentioned. That IBM MQ Connector did not work as expected. I end up trying other possible way( that's where i end up using JMS Connector.I found jms connector is better only issue i am having is with RFH Header). I am now stuck with both the cases. If you could able to help that would be great.Infinity
The JMS connector will not know how to set an IBM MQ specific feature. I don't think it is possible.aled

2 Answers

2
votes

I doubt the JMS connector allows to select a non-JMS compatible mode that is specific to a broker (IBM MQ). It a generic connector which provides no broker specific features. You should be using the IBM MQ connector for that that already provides that specific feature.

2
votes

And alternate action you could take would be to disable the RFH2 header by using a setting on the queue.

ALTER QLOCAL(P2.REQUEST) PROPCTL(NONE)

This will strip all properties (RFH2 header) off the message before delivering it to any application that doesn't supply a message handle.