RE: [mule-user] MQ Series and RFH2 Heading
Hi Tim,
Yes, we figured that out yesterday.
The endpoint URI gets chopped into an address and parameters. When the
JMSConnector creates the queue destination, just the endpoint URL address
is used, not the parameters.
I couldn't find a way to escape the
"?". But there seemed to be a lot of chatter about endpoint URIs,
so maybe that's something that will be looked at in the future.
I tried changing the source in the JMS11Support
class to cast the Queue interface to an MQQueue implementation, then manually
set the target client.
eg.
QueueSession qSession = (QueueSession)session;
MQQueue mQueue = (MQQueue)qSession.createQueue(name);
mQueue.setTargetClient(JMSC.MQJMS_CLIENT_NONJMS_MQ);
And that did the trick. For numerous
reasons, that's not an award winning solution. I will take a look at a
JNDI solution.
Thanks for your help.
Yvette
| "Tim Berkeley"
<tberkeley@...>
17/11/2005 06:05 PM
|
|
To
| <user@...>
|
|
cc
|
|
|
Subject
| RE: [mule-user] MQ Series and RFH2 Heading |
|
Hi,
I think that your problem is that the mule url is interpreting the ?targetClient=1
parameter and it is never getting to MQ as part of the MQ queue URL.
Is there a way of escaping the ? in the mule endpoint address? Maybe there
should be.
If you have a JNDI server you could set the queues up here and set the
property.
You may also be able to use the Spring org.springframework.mock.jndi.SimpleNamingContextBuilder
to create a local JNDI context. I have used this for data sources but not
for setting up JMS.
Some other JNDI options are...
http://oocjndi.sourceforge.net/
http://www.osjava.org/simple-jndi/
Though I have not used either of these.
Hope this helps.
Tim
-----Original Message-----
From: YQuinby@... [mailto:YQuinby@...]
Sent: 17 November 2005 01:03
To: user@...
Subject: [mule-user] MQ Series and RFH2 Heading
Hi,
We are using Mule to send JMS messages via IBM MQ Series.
I have the messages arriving on the queues, but we need to remove the JMS
RFH2 header from our messages.
According to IBM documentation, this can be done by appending targetClient=1
to the end of a URI.
eg.
jms://QUEUE_MANAGER/QUEUE_NAME?targetClient=1
where 1=MQ and 0=JMS
However, this doesn't seem to be working for us.
Has anyone else who uses IBM MQ Series come across this issue before?
Thanks.
===================================================
HBF Health Funds Inc. a registered organisation under the National Health
Act
HBF Insurance Pty Ltd ACN 009 268 277
This email is a confidential communication intended only for the named
Addressee(s).
If you are not that person any disclosure, copying, distribution or use
of this email
or the information in it is prohibited. Please notify us immediately by
telephone, (+61) 08 9265 6111 or return email and delete this email.
The views in this email may be personal to the author and not those of
HBF.
**********************************************************************
This e-mail is confidential and should not be used by anyone who is not
the original intended recipient.
If you have received this e-mail in error please inform the sender and
delete it from your mailbox or any other storage mechanism.
The Book People Limited cannot accept liability for any statements made
which are clearly the sender's own and not expressly made on behalf of
The Book People Limited.
We will not accept any responsibility for viruses, so please scan all attachments.
**********************************************************************
===================================================
HBF Health Funds Inc. a registered organisation under the National Health Act
HBF Insurance Pty Ltd ACN 009 268 277
This email is a confidential communication intended only for the named Addressee(s).
If you are not that person any disclosure, copying, distribution or use of this email
or the information in it is prohibited. Please notify us immediately by
telephone, (+61) 08 9265 6111 or return email and delete this email.
The views in this email may be personal to the author and not those of HBF. |