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:[email protected]] 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 <[email protected]<mailto:[email protected]>>: Is there a way to get a shutdown event? Regards, JP De : CLEMENT Jean-Philippe [mailto:[email protected]<mailto:[email protected]>] Envoyé : jeudi 17 novembre 2016 17:03 À : [email protected]<mailto:[email protected]> 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 Email: [email protected]<mailto:[email protected]> Web: http://fusesource.com<http://fusesource.com/> Blog: http://gnodet.blogspot.com/
