You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by "prabumca06@gmail.com" <pr...@gmail.com> on 2013/10/07 19:51:04 UTC

Re: Camel routing issue

Hi all,

Good morning,

I am trying to use when and filter both in my routing,but it didn't work

I hope it will give you idea what i am trying to achieve

from(ACT_TYPE_SPECFIC_QNAME).choice()
   .when(header(EVENT_TYPE).isEqualTo(ACT_TRANSACTION))
   .filter(simple("{body[isCredit]} == true"))
   .process(new Processor() {
    public void process(Exchange exchange) {
        Map map = (Map) exchange.getIn().getBody();
        String Account_No = (String) map.get(ACCOUNT_ID);
        Map<String,Object> newBody = new HashMap<String, Object>();
        newBody.put(ACCOUNT_ID, Account_No);
        exchange.getIn().setBody(newBody);

    }}).to(ACTIVATE_QNAME)
   .endChoice()
   .otherwise()
   .setHeader(DESTINATION, constant(DESTINATION_VALUE))
   .to(EROOR_QNAME)
   .end();

Message reached ACT_TYPE_SPECFIC_QNAME but it only checking when (
.when(header(EVENT_TYPE).isEqualTo(ACT_TRANSACTION)) ) condition routing
message to ACTIVATE_QNAME

Filter not working property in this case.

Please kindly help me




On Wed, Sep 4, 2013 at 11:48 PM, Prabu <pr...@gmail.com> wrote:

> Hi All,
>
> Camel i having code like this
>
> from(MESSAGING_TEST_CONSUMER_TYPE_SPECIFIC_QNAME).process(new
> MemosProcess(*getContext().**createProducerTemplate()*))
> .end();
>
> Above code worked fine in activemq 5.5 but after upgrade into active 5.8
> it is not working.
>
> Message getting hang in MESSAGING_TEST_CONSUMER_TYPE_SPECIFIC_QNAME not
> calling memosprocess class.
>
> Please kindly help me.
>
> *Thanks*
> Prabu.N
>
>
>
> On Wed, Jul 24, 2013 at 11:49 PM, Christian Mueller [via Camel] <
> ml-node+s465427n5736234h56@n5.nabble.com> wrote:
>
>> The test ensure it works:
>>
>> @Test
>> public void testInOnlyJMSExpiration() throws Exception {
>>     MockEndpoint mock = getMockEndpoint("mock:result");
>>     mock.expectedMessageCount(1);
>>
>>     long ttl = System.currentTimeMillis() + 5000;
>>
>> template.sendBodyAndHeader("activemq:queue:bar?preserveMessageQos=true",
>> "Hello World", "JMSExpiration", ttl);
>>
>>     // sleep just a little
>>     Thread.sleep(2000);
>>
>>     // use timeout in case running on slow box
>>     Exchange bar = consumer.receive("activemq:queue:bar", 10000);
>>     assertNotNull("Should be a message on queue", bar);
>>
>>     template.send("activemq:queue:foo", bar);
>>
>>     assertMockEndpointsSatisfied();
>> }
>>
>> @Test
>> public void testInOnlyJMSExpirationNoMessage() throws Exception {
>>     MockEndpoint mock = getMockEndpoint("mock:result");
>>     mock.expectedMessageCount(1);
>>
>>     long ttl = System.currentTimeMillis() + 2000;
>>
>> template.sendBodyAndHeader("activemq:queue:bar?preserveMessageQos=true",
>> "Hello World", "JMSExpiration", ttl);
>>
>>     // sleep more so the message is expired
>>     Thread.sleep(5000);
>>
>>     Exchange bar = consumer.receiveNoWait("activemq:queue:bar");
>>     assertNull("Should NOT be a message on queue", bar);
>>
>>     template.sendBody("activemq:queue:foo", "Hello World");
>>
>>     assertMockEndpointsSatisfied();
>> }
>>
>> protected RouteBuilder createRouteBuilder() throws Exception {
>>     return new RouteBuilder() {
>>         public void configure() throws Exception {
>>             from("activemq:queue:foo")
>>                 .to("mock:result");
>>         }
>>     };
>> }
>>
>> Check what you do differently...
>>
>> Best,
>> Christian
>> -----------------
>>
>> Software Integration Specialist
>>
>> Apache Camel committer: https://camel.apache.org/team
>> V.P. Apache Camel: https://www.apache.org/foundation/
>> Apache Member: https://www.apache.org/foundation/members.html
>>
>> https://www.linkedin.com/pub/christian-mueller/11/551/642
>>
>>
>> On Wed, Jul 24, 2013 at 4:42 PM, [hidden email]<http://user/SendEmail.jtp?type=node&node=5736234&i=0>
>> <[hidden email] <http://user/SendEmail.jtp?type=node&node=5736234&i=1>>wrote:
>>
>>
>> > Hi Chris,
>> >
>> >  Thanks so much for the information.
>> >
>> > I have tried different property but it did not work.
>> >
>> > Please find my code below.
>> >
>> > *public static final String CONSUMER_TEST_QNAME     =
>> >
>> >
>> "activemq:queue:ConsumerTestHandler?jmsMessageType=Text&preserveMessageQos=true";
>>
>> > *
>> > *
>> > *
>> > *public static final String PRODUCER_TEST_QNAME     =
>> >
>> >
>> "activemq:queue:ProducerTestHandler?jmsMessageType=Text&preserveMessageQos=true";
>>
>> > *
>> > *    *
>> > *public static final String MESSAGING_TEST_CONSUMER_TYPE_SPECIFIC_QNAME
>>  =
>> > "activemq:queue:Inbound.Memos.Consumer.Test";*
>> > *
>> > *
>> > *public static final String MESSAGING_TEST_PRODUCER_TYPE_SPECIFIC_QNAME
>>  =
>> > "activemq:queue:Inbound.Memos.Producer.Test";*
>> >
>> >
>> > from(*MESSAGING_TEST_CONSUMER_TYPE_SPECIFIC_QNAME*).process(new
>> Processor()
>> > {
>> >      public void process(Exchange exchange) throws Exception {
>> >
>> >      }
>> >          .setHeader(MEMOS_TARGET_SERVER,header(MASTER_HANDLER))
>> >          .setHeader(JMSExpiration,constant(EXPIRY_TIME))
>> >          .to(CONSUMER_TEST_QNAME)
>> >          .setHeader(MEMOS_TARGET_SERVER, header(SLAVE_HANDLER))
>> >          .setHeader(JMSExpiration,constant(EXPIRY_TIME))
>> >          .to(CONSUMER_TEST_QNAME)
>> >          .end();
>> >
>> > But,messages not expiring
>> >
>> > Please kindly help me
>> >
>> > *Thanks*
>> > Prabu.N
>> >
>> >
>> > On Wed, Jul 24, 2013 at 1:46 AM, Christian Mueller [via Camel] <
>> > [hidden email] <http://user/SendEmail.jtp?type=node&node=5736234&i=2>>
>> wrote:
>> >
>> > > It's not really so difficult to find an example, if you spend only a
>> few
>> > > minutes:
>> > >
>> > >
>> >
>> https://git-wip-us.apache.org/repos/asf?p=camel.git;a=blob;f=components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsProducerWithJMSHeaderTest.java;h=52b430b17a7ffc0ca977864ea8c6238050f90a57;hb=HEAD
>> > >
>> > > Best,
>> > > Christian
>> > > -----------------
>> > >
>> > > Software Integration Specialist
>> > >
>> > > Apache Camel committer: https://camel.apache.org/team
>> > > V.P. Apache Camel: https://www.apache.org/foundation/
>> > > Apache Member: https://www.apache.org/foundation/members.html
>> > >
>> > > https://www.linkedin.com/pub/christian-mueller/11/551/642
>> > >
>> > >
>> > > ------------------------------
>> > >  If you reply to this email, your message will be added to the
>> discussion
>> > > below:
>> > >
>> > >
>> >
>> http://camel.465427.n5.nabble.com/Camel-routing-issue-tp5730094p5736163.html
>> > >  To unsubscribe from Camel routing issue, click here<
>> >
>> >
>> > > .
>> > > NAML<
>> >
>> http://camel.465427.n5.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml
>> > >
>> > >
>> >
>> >
>> >
>> > --
>> > Thanks & Regards
>> >  Prabu.N
>> >
>> >
>> >
>> >
>> > --
>> > View this message in context:
>> >
>> http://camel.465427.n5.nabble.com/Camel-routing-issue-tp5730094p5736224.html
>>
>> > Sent from the Camel - Users mailing list archive at Nabble.com.
>> >
>>
>>
>> ------------------------------
>>  If you reply to this email, your message will be added to the
>> discussion below:
>>
>> http://camel.465427.n5.nabble.com/Camel-routing-issue-tp5730094p5736234.html
>>  To unsubscribe from Camel routing issue, click here<http://camel.465427.n5.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=5730094&code=cHJhYnVtY2EwNkBnbWFpbC5jb218NTczMDA5NHw4OTY0MTU3ODg=>
>> .
>> NAML<http://camel.465427.n5.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
>>
>
>
>
> --
> Thanks & Regards
>  Prabu.N
>



-- 
Thanks & Regards
 Prabu.N




--
View this message in context: http://camel.465427.n5.nabble.com/Camel-routing-issue-tp5730094p5741054.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Re: Camel routing issue

Posted by "kraythe ." <kr...@gmail.com>.
Filter has to be first in the route. You can probably only put exception
handling and route id before it. The DSL should probably be tighened up for
that.

*Robert Simmons Jr. MSc. - Lead Java Architect @ EA*
*Author of: Hardcore Java (2003) and Maintainable Java (2012)*
*LinkedIn: **http://www.linkedin.com/pub/robert-simmons/40/852/a39*


On Mon, Oct 7, 2013 at 12:51 PM, prabumca06@gmail.com
<pr...@gmail.com>wrote:

> Hi all,
>
> Good morning,
>
> I am trying to use when and filter both in my routing,but it didn't work
>
> I hope it will give you idea what i am trying to achieve
>
> from(ACT_TYPE_SPECFIC_QNAME).choice()
>    .when(header(EVENT_TYPE).isEqualTo(ACT_TRANSACTION))
>    .filter(simple("{body[isCredit]} == true"))
>    .process(new Processor() {
>     public void process(Exchange exchange) {
>         Map map = (Map) exchange.getIn().getBody();
>         String Account_No = (String) map.get(ACCOUNT_ID);
>         Map<String,Object> newBody = new HashMap<String, Object>();
>         newBody.put(ACCOUNT_ID, Account_No);
>         exchange.getIn().setBody(newBody);
>
>     }}).to(ACTIVATE_QNAME)
>    .endChoice()
>    .otherwise()
>    .setHeader(DESTINATION, constant(DESTINATION_VALUE))
>    .to(EROOR_QNAME)
>    .end();
>
> Message reached ACT_TYPE_SPECFIC_QNAME but it only checking when (
> .when(header(EVENT_TYPE).isEqualTo(ACT_TRANSACTION)) ) condition routing
> message to ACTIVATE_QNAME
>
> Filter not working property in this case.
>
> Please kindly help me
>
>
>
>
> On Wed, Sep 4, 2013 at 11:48 PM, Prabu <pr...@gmail.com> wrote:
>
> > Hi All,
> >
> > Camel i having code like this
> >
> > from(MESSAGING_TEST_CONSUMER_TYPE_SPECIFIC_QNAME).process(new
> > MemosProcess(*getContext().**createProducerTemplate()*))
> > .end();
> >
> > Above code worked fine in activemq 5.5 but after upgrade into active 5.8
> > it is not working.
> >
> > Message getting hang in MESSAGING_TEST_CONSUMER_TYPE_SPECIFIC_QNAME not
> > calling memosprocess class.
> >
> > Please kindly help me.
> >
> > *Thanks*
> > Prabu.N
> >
> >
> >
> > On Wed, Jul 24, 2013 at 11:49 PM, Christian Mueller [via Camel] <
> > ml-node+s465427n5736234h56@n5.nabble.com> wrote:
> >
> >> The test ensure it works:
> >>
> >> @Test
> >> public void testInOnlyJMSExpiration() throws Exception {
> >>     MockEndpoint mock = getMockEndpoint("mock:result");
> >>     mock.expectedMessageCount(1);
> >>
> >>     long ttl = System.currentTimeMillis() + 5000;
> >>
> >> template.sendBodyAndHeader("activemq:queue:bar?preserveMessageQos=true",
> >> "Hello World", "JMSExpiration", ttl);
> >>
> >>     // sleep just a little
> >>     Thread.sleep(2000);
> >>
> >>     // use timeout in case running on slow box
> >>     Exchange bar = consumer.receive("activemq:queue:bar", 10000);
> >>     assertNotNull("Should be a message on queue", bar);
> >>
> >>     template.send("activemq:queue:foo", bar);
> >>
> >>     assertMockEndpointsSatisfied();
> >> }
> >>
> >> @Test
> >> public void testInOnlyJMSExpirationNoMessage() throws Exception {
> >>     MockEndpoint mock = getMockEndpoint("mock:result");
> >>     mock.expectedMessageCount(1);
> >>
> >>     long ttl = System.currentTimeMillis() + 2000;
> >>
> >> template.sendBodyAndHeader("activemq:queue:bar?preserveMessageQos=true",
> >> "Hello World", "JMSExpiration", ttl);
> >>
> >>     // sleep more so the message is expired
> >>     Thread.sleep(5000);
> >>
> >>     Exchange bar = consumer.receiveNoWait("activemq:queue:bar");
> >>     assertNull("Should NOT be a message on queue", bar);
> >>
> >>     template.sendBody("activemq:queue:foo", "Hello World");
> >>
> >>     assertMockEndpointsSatisfied();
> >> }
> >>
> >> protected RouteBuilder createRouteBuilder() throws Exception {
> >>     return new RouteBuilder() {
> >>         public void configure() throws Exception {
> >>             from("activemq:queue:foo")
> >>                 .to("mock:result");
> >>         }
> >>     };
> >> }
> >>
> >> Check what you do differently...
> >>
> >> Best,
> >> Christian
> >> -----------------
> >>
> >> Software Integration Specialist
> >>
> >> Apache Camel committer: https://camel.apache.org/team
> >> V.P. Apache Camel: https://www.apache.org/foundation/
> >> Apache Member: https://www.apache.org/foundation/members.html
> >>
> >> https://www.linkedin.com/pub/christian-mueller/11/551/642
> >>
> >>
> >> On Wed, Jul 24, 2013 at 4:42 PM, [hidden email]<
> http://user/SendEmail.jtp?type=node&node=5736234&i=0>
> >> <[hidden email] <http://user/SendEmail.jtp?type=node&node=5736234&i=1
> >>wrote:
> >>
> >>
> >> > Hi Chris,
> >> >
> >> >  Thanks so much for the information.
> >> >
> >> > I have tried different property but it did not work.
> >> >
> >> > Please find my code below.
> >> >
> >> > *public static final String CONSUMER_TEST_QNAME     =
> >> >
> >> >
> >>
> "activemq:queue:ConsumerTestHandler?jmsMessageType=Text&preserveMessageQos=true";
> >>
> >> > *
> >> > *
> >> > *
> >> > *public static final String PRODUCER_TEST_QNAME     =
> >> >
> >> >
> >>
> "activemq:queue:ProducerTestHandler?jmsMessageType=Text&preserveMessageQos=true";
> >>
> >> > *
> >> > *    *
> >> > *public static final String
> MESSAGING_TEST_CONSUMER_TYPE_SPECIFIC_QNAME
> >>  =
> >> > "activemq:queue:Inbound.Memos.Consumer.Test";*
> >> > *
> >> > *
> >> > *public static final String
> MESSAGING_TEST_PRODUCER_TYPE_SPECIFIC_QNAME
> >>  =
> >> > "activemq:queue:Inbound.Memos.Producer.Test";*
> >> >
> >> >
> >> > from(*MESSAGING_TEST_CONSUMER_TYPE_SPECIFIC_QNAME*).process(new
> >> Processor()
> >> > {
> >> >      public void process(Exchange exchange) throws Exception {
> >> >
> >> >      }
> >> >          .setHeader(MEMOS_TARGET_SERVER,header(MASTER_HANDLER))
> >> >          .setHeader(JMSExpiration,constant(EXPIRY_TIME))
> >> >          .to(CONSUMER_TEST_QNAME)
> >> >          .setHeader(MEMOS_TARGET_SERVER, header(SLAVE_HANDLER))
> >> >          .setHeader(JMSExpiration,constant(EXPIRY_TIME))
> >> >          .to(CONSUMER_TEST_QNAME)
> >> >          .end();
> >> >
> >> > But,messages not expiring
> >> >
> >> > Please kindly help me
> >> >
> >> > *Thanks*
> >> > Prabu.N
> >> >
> >> >
> >> > On Wed, Jul 24, 2013 at 1:46 AM, Christian Mueller [via Camel] <
> >> > [hidden email] <http://user/SendEmail.jtp?type=node&node=5736234&i=2
> >>
> >> wrote:
> >> >
> >> > > It's not really so difficult to find an example, if you spend only a
> >> few
> >> > > minutes:
> >> > >
> >> > >
> >> >
> >>
> https://git-wip-us.apache.org/repos/asf?p=camel.git;a=blob;f=components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsProducerWithJMSHeaderTest.java;h=52b430b17a7ffc0ca977864ea8c6238050f90a57;hb=HEAD
> >> > >
> >> > > Best,
> >> > > Christian
> >> > > -----------------
> >> > >
> >> > > Software Integration Specialist
> >> > >
> >> > > Apache Camel committer: https://camel.apache.org/team
> >> > > V.P. Apache Camel: https://www.apache.org/foundation/
> >> > > Apache Member: https://www.apache.org/foundation/members.html
> >> > >
> >> > > https://www.linkedin.com/pub/christian-mueller/11/551/642
> >> > >
> >> > >
> >> > > ------------------------------
> >> > >  If you reply to this email, your message will be added to the
> >> discussion
> >> > > below:
> >> > >
> >> > >
> >> >
> >>
> http://camel.465427.n5.nabble.com/Camel-routing-issue-tp5730094p5736163.html
> >> > >  To unsubscribe from Camel routing issue, click here<
> >> >
> >> >
> >> > > .
> >> > > NAML<
> >> >
> >>
> http://camel.465427.n5.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml
> >> > >
> >> > >
> >> >
> >> >
> >> >
> >> > --
> >> > Thanks & Regards
> >> >  Prabu.N
> >> >
> >> >
> >> >
> >> >
> >> > --
> >> > View this message in context:
> >> >
> >>
> http://camel.465427.n5.nabble.com/Camel-routing-issue-tp5730094p5736224.html
> >>
> >> > Sent from the Camel - Users mailing list archive at Nabble.com.
> >> >
> >>
> >>
> >> ------------------------------
> >>  If you reply to this email, your message will be added to the
> >> discussion below:
> >>
> >>
> http://camel.465427.n5.nabble.com/Camel-routing-issue-tp5730094p5736234.html
> >>  To unsubscribe from Camel routing issue, click here<
> http://camel.465427.n5.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=5730094&code=cHJhYnVtY2EwNkBnbWFpbC5jb218NTczMDA5NHw4OTY0MTU3ODg=
> >
> >> .
> >> NAML<
> http://camel.465427.n5.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml
> >
> >>
> >
> >
> >
> > --
> > Thanks & Regards
> >  Prabu.N
> >
>
>
>
> --
> Thanks & Regards
>  Prabu.N
>
>
>
>
> --
> View this message in context:
> http://camel.465427.n5.nabble.com/Camel-routing-issue-tp5730094p5741054.html
> Sent from the Camel - Users mailing list archive at Nabble.com.