camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Claus Ibsen <claus.ib...@gmail.com>
Subject Re: Fw: Delay() causes unexpected results
Date Mon, 24 Jan 2011 08:01:09 GMT
On Mon, Jan 24, 2011 at 6:21 AM, Mark Borner <mark.borner@zurich.com.au>wrote:

>
> Please disregard.  I found the following Jira:
> https://issues.apache.org/jira/browse/CAMEL-2654
>
> My route should have had delay(500).end()!  With this correct, the expected
> results are produced.
>
>
Yeah its a pita its like that. I added a WARN to the delayer wiki page.



>  Thanks,
>
> Mark
>
> Mark Borner
> Java Developer - ZStream Xpress
>
>
>
>
> ----- Forwarded by Mark Borner/HO/Australia/Zurich on 24/01/2011 04:15 PM
> -----
>  From: Mark Borner/HO/Australia/Zurich To: users <users@camel.apache.org>
> Date: 24/01/2011 03:25 PM Subject: Delay() causes unexpected results
> ------------------------------
>
>
> Hi all:
>
> I have a DSL that works as expected, but when I add delay()'s, it doesn't.
>  Is this a bug or do I not understand the delay() function?
>
> Test Class:
>
> public class ChoiceTesting extends CamelTestSupport {
>
>     @Override
>     protected RouteBuilder createRouteBuilder() throws Exception {
>         return new RouteBuilder() {
>             @Override
>             public void configure() throws Exception {
>                 from("direct:start")
>                     .log("Starting testing")
>                     .multicast().stopOnException()
>                         .pipeline()
>                             .log("In the beginning!  Body=${body}")
>                             .to("direct:dummy")
>                             .choice()
>                                 .when(header("KEY").isNotEqualTo("VALUE"))
>                                     .log("choice 1")
>                                     .wireTap("direct:dummy")
>                                     //.delay(500)
>                                     .choice()
>
> .when(header("KEY").isNotEqualTo("VALUE"))
>                                             .log("choice 2")
>                                             .to("direct:dummy")
>                                             //.delay(500)
>                                             .choice()
>
> .when(header("KEY").isEqualTo("VALUE"))
>                                                     .log("choice 3")
>                                                     .throwException(new
> RuntimeException("Some Error"))
>                                             .end()
>                                     .end()
>                             .end()
>                         .end()
>                         .to("direct:middle")
>                         .pipeline()
>                             .log("In the end!  Body=${body}")
>                         .end();
>
>                 from("direct:middle")
>                     .log("In the middle!  Body=${body}");
>
>                 from("direct:dummy")
>                     .setBody().constant("DUMMY");
>             }
>         };
>     }
>
>     @Test
>     public void run() {
>         template.sendBody("direct:start", "X");
>     }
> }
>
> Produces the expected output of:
>
> 2011-01-24 15:16:42,891 INFO  route1 - Starting testing
> 2011-01-24 15:16:42,891 INFO  route1 - In the beginning!  Body=X
> 2011-01-24 15:16:42,891 INFO  route1 - choice 1
> 2011-01-24 15:16:42,891 INFO  route1 - choice 2
> 2011-01-24 15:16:42,891 INFO  route2 - In the middle!  Body=X
> 2011-01-24 15:16:42,891 INFO  route1 - In the end!  Body=X
>
> But when I uncomment the delay() calls, the output changes to:
>
> 2011-01-24 15:23:55,477 INFO  route1 - Starting testing
> 2011-01-24 15:23:55,477 INFO  route1 - In the beginning!  Body=X
> 2011-01-24 15:23:55,477 INFO  route1 - choice 1
> 2011-01-24 15:23:55,977 INFO  route1 - choice 2
> 2011-01-24 15:23:56,477 INFO  route2 - In the middle!  Body=DUMMY
> 2011-01-24 15:23:56,477 INFO  route1 - In the end!  Body=DUMMY
>
> I'm using Camel 2.5.0.
>
> Thanks in advance,
> Mark
>
> Mark Borner
> Java Developer - ZStream Xpress
>
> ----
> This email is intended for the named recipient only. It may contain
> information which is confidential, commercially sensitive, or
> copyright. If you are not the intended recipient you must not
> reproduce or distribute any part of the email, disclose its contents,
> or take any action in reliance. If you have received this email in
> error, please contact the sender and delete the message. It is your
> responsibility to scan this email and any attachments for viruses and
> other defects. To the extent permitted by law, Zurich and its
> associates will not be liable for any loss or damage arising in any
> way from this communication including any file attachments. We may
> monitor email you send to us, either as a reply to this email or any
> email you send to us, to confirm our systems are protected and for
> compliance with company policies. Although we take reasonable
> precautions to protect the confidentiality of our email systems, we
> do not warrant the confidentiality or security of email or
> attachments we receive.
>
>


-- 
Claus Ibsen
-----------------
FuseSource
Email: cibsen@fusesource.com
Web: http://fusesource.com
Twitter: davsclaus
Blog: http://davsclaus.blogspot.com/
Author of Camel in Action: http://www.manning.com/ibsen/

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message