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.clem...@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

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

Reply via email to