Another interesting point is that I have set 3 headers like this
<setHeader headerName="JMS_IBM_Format">
<simple>MQSTR</simple>
</setHeader>
<setHeader headerName="JMS_IBM_MQMD_ReplyToQ">
<simple>FN=${in.header.TransactionReferenceNumber}</simple>
</setHeader>
<setHeader headerName="JMS_IBM_Character_Set">
<simple>819</simple>
</setHeader>
Only ReplyToQueue header is missing.
I have used destinationResolver class like this
package com.tgt.tcom.il.SA.OMS;
import javax.jms.Destination;
import javax.jms.JMSException;
import javax.jms.Session;
import org.springframework.jms.support.destination.DestinationResolver;
public class SAOMSDestinationResolver implements DestinationResolver {
@Override
public Destination resolveDestinationName(Session session, String
destinationName,
boolean pubSubDomain) throws JMSException {
return session.createQueue("queue:///" + destinationName +
"?targetClient=1");
}
}
-----Original Message-----
From: Vanshul.Chawla [mailto:[email protected]]
Sent: Tuesday, October 20, 2015 8:14 AM
To: [email protected]
Subject: RE: Passing ReplyToQueue for a InOnly exchange
Any suggestions on this?
-----Original Message-----
From: Vanshul.Chawla [mailto:[email protected]]
Sent: Monday, October 19, 2015 3:50 PM
To: [email protected]
Subject: Passing ReplyToQueue for a InOnly exchange
Hello all,
We need to set ReplyToQueue for IBM MQ for a message going out to a
queue(Exchange is InOnly). We have set as
<setHeader headerName="JMS_IBM_MQMD_ReplyToQ">
<simple
resultType="java.lang.String">FN=${in.header.TransactionReferenceNumber}</simple>
</setHeader>
<setHeader headerName="JMSReplyTo">
<simple
resultType="java.lang.String">FN=${in.header.TransactionReferenceNumber}</simple>
</setHeader>
<log message="headers are ${headers}"/>
<to
uri="wmq-qm-SA-OMS-Genco1:queue:{{saGenco.WMQ.OutQueue}}?replyTo=${header.JMSReplyTo}&preserveMessageQos=true"
/>
I can see headers getting set but when I get the message from queue on other
side, the headers are null.
What is missing in above statement?
Vanshul