...
Code Block | ||
---|---|---|
| ||
@ApplicationScoped @ContextName("foo") class FooCamelContext extends DefaultCamelContext { } @ApplicationScoped @BarContextQualifier class BarCamelContext extends DefaultCamelContext { } @ContextName("foo") class RouteAdddedToFooCamelContext extends RoutesBuilderRouteBuilder { @Override public void configure() { // ... } } @BarContextQualifier class RouteAdddedToBarCamelContext extends RoutesBuilderRouteBuilder { @Override public void configure() { // ... } } @ContextName("baz") class RouteAdddedToBazCamelContext extends RoutesBuilderRouteBuilder { @Override public void configure() { // ... } } @MyOtherQualifier class RouteNotAddedToAnyCamelContext extends RoutesBuilderRouteBuilder { @Override public void configure() { // ... } } |
The RoutesBuilder
beans qualified with @ContextName
are automatically added to the corresponding CamelContext
beans by Camel CDI. If no such CamelContext
bean exists, it gets automatically created, as for the RouteAddedToBazCamelContext
bean. Note this only happens for the @ContextName
qualifier provided by Camel CDI. Hence the RouteNotAddedToAnyCamelContext
bean qualified with the user-defined @MyOtherQualifier
qualifier does not get added to any Camel contexts. That may be useful, for example, for Camel routes that may be required to be added later during the application execution.
Info |
---|
Since Camel version 2.17.0, Camel CDI is capable of managing any kind of |
The CDI qualifiers declared on the CamelContext
beans are also used to bind the corresponding Camel primitives, e.g.:
...