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

camel-cdi - support injection of Endpoint and @Produce @Consume annotations

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 2.16.0
    • camel-cdi
    • None
    • Unknown

    Description

      we don't yet support the various camel annotation injections in CDI yet; we should support the same capabilities as we have in spring/guice

      http://camel.apache.org/bean-integration.html
      http://camel.apache.org/bean-injection.html

      I guess a more CDI way to do endpoint injection might be to have an annotation for endpointURI specification. Then you'd either use

      public class MyBean { 
        // named reference injection
        @Inject @Named("foo") Endpoint bar;
      
        // URI based injection
        @Inject @Uri("mock:whatnot") MockEndpoint foo;
      ...
      }
      

      Rather than using the DI-agnostic @EndpointInject annotation - though I guess we could support it too (though having Inject twice looks a bit icky and not as DRY)...

      public class MyBean { 
        // using current annotation...
        @Inject @EndpointInject(uri = "mock:whatnot") MockEndpoint bar;
      ...
      }
      

      For handling @Consume it would be nice to avoid having to use @Inject too as that seems a bit odd (since there's no injection going on).

      For @Produce I guess we could support a straight @Inject of a ProcessorTemplate; allowing use of @Uri annotation to specify the default URI to send to

      Attachments

        Issue Links

          Activity

            People

              davsclaus Claus Ibsen
              jstrachan James Strachan
              Votes:
              3 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: