Hi Rajith,

> On 10 Aug 2016, at 21:00, Rajith Muditha Attapattu <rajit...@gmail.com> wrote:
> 
> I'm using Camel 2.15 bcos thats the version coming Fuse 6.2.1
> But my understanding is that CDI events are not supported until 2.17

Your understanding is correct. This will be available in Fuse 6.3 which is 
expected to be released soon.

> What's the drawback of overriding start() ?

Assuming you can use the observer method, I find it more straightforward and 
explicit that customising and overriding the default Camel context bean. Though 
that’s a matter of style.

Antonin

> On Wed, Aug 10, 2016 at 2:33 PM, Antonin Stefanutti <anto...@stefanutti.fr>
> wrote:
> 
>> 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 <rajit...@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/>
>> 
>> 
> 
> 
> -- 
> Regards,
> 
> Rajith Muditha Attapattu <http://rajith.2rlabs.com/>

Reply via email to