[ 
https://issues.apache.org/jira/browse/CAMEL-10391?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Antonin Stefanutti updated CAMEL-10391:
---------------------------------------
    Description: 
Camel-CDI will find every class in a deployment which extends RouteBuilder and 
automatically add them to the context. This is a major issue for me as I 
usually wants to instantiate my RouteBuilders programatically setting various 
parameters, with CDI support.

This behaviour was introduced with 
https://github.com/apache/camel/commit/0421c24dfcf992f3296ed746469771e3800200e3 
from [~antonin.stefanutti] and we had a good discussion about the issue on his 
github project in https://github.com/astefanutti/camel-cdi/issues/12 but never 
came up with a good solution for it. I have patched camel-cdi to use a marker 
annotation @DoNotAddToCamelContext to work around it but I don't want to have 
to patch every release I use..

I understand the logic why Camel-CDI finds and add every RouteBuilder class, 
even though I don't agree that it is a good idea but it could very well be the 
default behavior as long as it is possible to override it.

What I would like is a discussion on how this could be made configurable. I'm 
thinking about if there could be an annotation like @CamelContextStartup(false) 
or maybe even a more general @CamelContextConfig(autostart=false) if there are 
other things that should be configurable.

  was:
Camel-CDI will find every class in a deployment which extends RouteBuilder and 
automatically add them to the context. This is a major issue for me as I 
usually wants to instantiate my RouteBuilders programatically setting various 
parameters, with CDI support.

This behaviour was introduced with 
https://github.com/apache/camel/commit/0421c24dfcf992f3296ed746469771e3800200e3 
from [~antonin.stefanutti] and we had a good discussion about the issue on his 
github project in https://github.com/astefanutti/camel-cdi/issues/12 but never 
came up with a good solution for it. I have pathed camel-cdi to use a marker 
annotation @DoNotAddToCamelContext to work around it but I don't want to have 
to patch every release I use..

I understand the logic why Camel-CDI finds and add every RouteBuilder class, 
even though I don't agree that it is a good idea but it could very well be the 
default behavior as long as it is possible to override it.

What I would like is a discussion on how this could be made configurable. I'm 
thinking about if there could be an annotation like @CamelContextStartup(false) 
or maybe even a more general @CamelContextConfig(autostart=false) if there are 
other things that should be configurable.


> Camel-CDI adds every RouteBuilder instance it can find to Camel context
> -----------------------------------------------------------------------
>
>                 Key: CAMEL-10391
>                 URL: https://issues.apache.org/jira/browse/CAMEL-10391
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-cdi
>    Affects Versions: 2.18.0
>         Environment: Wildfly 10 with wildfly-camel extension
>            Reporter: Sverker Abrahamsson
>
> Camel-CDI will find every class in a deployment which extends RouteBuilder 
> and automatically add them to the context. This is a major issue for me as I 
> usually wants to instantiate my RouteBuilders programatically setting various 
> parameters, with CDI support.
> This behaviour was introduced with 
> https://github.com/apache/camel/commit/0421c24dfcf992f3296ed746469771e3800200e3
>  from [~antonin.stefanutti] and we had a good discussion about the issue on 
> his github project in https://github.com/astefanutti/camel-cdi/issues/12 but 
> never came up with a good solution for it. I have patched camel-cdi to use a 
> marker annotation @DoNotAddToCamelContext to work around it but I don't want 
> to have to patch every release I use..
> I understand the logic why Camel-CDI finds and add every RouteBuilder class, 
> even though I don't agree that it is a good idea but it could very well be 
> the default behavior as long as it is possible to override it.
> What I would like is a discussion on how this could be made configurable. I'm 
> thinking about if there could be an annotation like 
> @CamelContextStartup(false) or maybe even a more general 
> @CamelContextConfig(autostart=false) if there are other things that should be 
> configurable.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to