Hi

Use # syntax in URIs to refer to a bean by its id
https://camel.apache.org/manual/latest/faq/how-do-i-configure-endpoints.html

You can also configure the destination resolver directory on the JMS
component (wq-jms) instead of each endpoint
https://camel.apache.org/components/latest/jms-component.html

On Tue, Nov 3, 2020 at 3:53 AM Nagulapalli, Srinivas
<srinivas.nagulapa...@wabtec.com> wrote:
>
> 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.



-- 
Claus Ibsen
-----------------
http://davsclaus.com @davsclaus
Camel in Action 2: https://www.manning.com/ibsen2

Reply via email to