camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Antonin Stefanutti <anto...@stefanutti.fr>
Subject Re: Loading all beans before the Camel Context starts
Date Wed, 10 Aug 2016 18:33:33 GMT
One alternative is to observe for the CamelContextStartingEvent that’s fired before the corresponding
Camel contexts get started, e.g.:

void initMyBeansBeforeContextStart(@Observes CamelContextStartingEvent event, MyBean bean)
{
    bean.init();
}

Either method argument or class field injection will work. And that avoids having to override
the start method on the context.

You can find more information in: http://camel.apache.org/cdi.html#CDI-CameleventstoCDIevents

Antonin

> On 10 Aug 2016, at 19:48, Rajith Muditha Attapattu <rajith77@gmail.com> wrote:
> 
> I'm using CDI and want to make sure all my beans are loaded before the
> context and properly initialized.
> 
> I have them as attributes in my CamelContext class with @Inject.
> 
> However I override the start method in the context to make sure I call the
> various initi methods for those beans to make sure they are loaded and
> ready when the routes start.
> 
> @Override
> public void start() throws Exception{
>   myBean1.init();
>   myBean2.init().
>   super.start();
> }
> 
> Is this advisable ? is there a better way to do this ?
> 
> Regards,
> 
> Rajith Muditha Attapattu <http://rajith.2rlabs.com/>

Mime
View raw message