Hi,

Request help for setting JMS provider options on the Destination.

I am trying to follow the workaround mentioned at : 
https://camel.apache.org/components/latest/jms-component.html
under section: “SETTING JMS PROVIDER OPTIONS ON THE DESTINATION”<
to specify “targetClient=1” using Custom Destination Resolver.

Here are my two steps:
Step 1: Implemented custom DestinationResolver called 
“MQDestinationResolver.java” like below:
================================
public class MQDestinationResolver implements DestinationResolver
{
    @Override
    public Destination resolveDestinationName( final Session session, final 
String destinationName,final boolean pubSubDomain) throws JMSException
    {
        if (!( session instanceof MQQueueSession )) {
            final String errorMessage = "Error: session NOT an instance of 
MQQueueSession!";
            log.error(errorMessage);
            throw new IllegalStateException(errorMessage);
        }
        final MQQueueSession wmqSession = (MQQueueSession) session;
        if (pubSubDomain){
            return wmqSession.createTopic("topic:///" + destinationName + 
"?targetClient=1");
        } else  {
            return wmqSession.createQueue("queue:///" + destinationName + 
"?targetClient=1");
        }
    }
}
Step 2: In my custom RouteBuilder called MyRouteBuilder.java below,
attempting to use the custom DestinationResolver created in Step1, like below, 
but does NOT work. Please tell how!

public class MyRouteBuilder extends RouteBuilder
{
    @Override
    public void configure()
    {
        final String mqOutgoingQueueURI = 
MisUtil.getMQURIFromQueueName(mqInfo.getOutputQueueName())
                + "?destinationResolver=mqDestinationResolver";

from(“jms:queue:MY_JMS_SOURCE_QUEUE?destinationResolver=MQDestinationResolver”) 
//•-----  This does NOT work!
            .to("wq-jms:queue:///MY.MQ.TARGET_QUEUE_NAME”);//
}
}
======

I do not know how to specify Camel to use MQDestinationResolver in DSL.
Any help is greatly appreciated.

Thanks
Srini
This email and any attachments are only for use by the intended recipient(s) 
and may contain legally privileged, confidential, proprietary or otherwise 
private information. Any unauthorized use, reproduction, dissemination, 
distribution or other disclosure of the contents of this e-mail or its 
attachments is strictly prohibited. If you have received this email in error, 
please notify the sender immediately and delete the original. Neither this 
information block, the typed name of the sender, nor anything else in this 
message is intended to constitute an electronic signature unless a specific 
statement to the contrary is included in this message.

Reply via email to