Can you write a simple SynchronousBundleListener that prints to stdout all received events and paste the output when stopping the framework for felix and equinox ?

2016-11-18 12:10 GMT+01:00 CLEMENT Jean-Philippe <jean-philippe.clement@fr.thalesgroup.com>:

Well, that’s not the case when a bundle refuses to stop – I get no event. Ah I forgot to mention that Equinox is used instead of Felix.

 

May I open a bug for this?

 

Regards,

JP

 

 

De : Guillaume Nodet [mailto:gnodet@apache.org]
Envoyé : vendredi 18 novembre 2016 11:52
À : user
Objet : Re: Karaf shutdown

 

The SynchronousBundleListener is the way to go.

You should receive a STOPPING event for the system bundle before any other bundle is actually stopped.

 

2016-11-18 11:38 GMT+01:00 CLEMENT Jean-Philippe <jean-philippe.clement@fr.thalesgroup.com>:

Is there a way to get a shutdown event?

 

Regards,

JP

 

De : CLEMENT Jean-Philippe [mailto:jean-philippe.clement@fr.thalesgroup.com]
Envoyé : jeudi 17 novembre 2016 17:03
À : user@karaf.apache.org
Objet : Karaf shutdown

 

Dear Karaf addicts :)

 

I would like Karaf to stop. This may fail to happen when (at least) a bundle does not end. So I added a watchdog which exits Java when a time limit has been exceeded (note: maybe there is already a way to do so - ?). The way I coded it does not work when the shutdown is made via the Karaf prompt, so I decided to enhance it.

 

Googling “Karaf shutdown hook”, I found an old thread talking about SynchronousBundleListener. The issue I’m facing is that I get no event when performing bundle0.stop(Bundle.STOP_TRANSIENT) and one of the bundles refuses to stop. The listener is registered via bundle0.getBundleContext().addBundleListener(new SynchronousBundleListener() { … }).

 

Is it normal? How to force Karaf to shutdown?

 

PS: Karaf version is 4.0.7

 

JP



 

--

------------------------
Guillaume Nodet
------------------------

Red Hat, Open Source Integration

 

 




--
------------------------
Guillaume Nodet
------------------------
Red Hat, Open Source Integration

Email: gnodet@redhat.com
Web: http://fusesource.com
Blog: http://gnodet.blogspot.com/