Uploaded image for project: 'Camel'
  1. Camel
  2. CAMEL-15815

endpoint-dsl should support dynamic uri in Enrich EIP

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • 3.6.0
    • 3.7.0
    • came-core
    • None
    • Unknown

    Description

      Hello,

       

      I found something which seems unexpected with the enrich processor and Camel 3.6.0.

       If you consider those 2 routes:

        

      from(timer("foo"))
               .setBody(constant("1"))
               .enrich("seda://test-${body}");
       
       from(timer("bar"))
               .setBody(constant("2"))
               .enrich(seda("test-${body}"));

       

      In the log, it says:

      [mel-1) thread #6 - timer://bar] SedaEndpoint                   INFO  Endpoint seda://test-2 is using shared queue: seda://test-2 with size: 1000
      [mel-1) thread #5 - timer://foo] SedaEndpoint                   INFO  Endpoint seda://test-$%7Bbody%7D is using shared queue: seda://test-$%7Bbody%7D with size: 1000 
      

       

      So the route using the enrich with “EndpointRouteBuilder style” seems to consider the endpoint URI as a “simple” expression (and resolves it), and the other one like a “constant” expression (which is what I expected). In the first case, it means that the endpoint is resolved for every exchange processed.

       

      It’s possible to “force” the constant expression using this though:

      from(timer("biz"))
               .setBody(constant("3"))
               .enrich().constant(seda("test-${body}"));

       

      Regards,

      Nicolas

      Attachments

        Activity

          People

            davsclaus Claus Ibsen
            ncasaux ncasaux
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: