Works, thanks!
Am 15.10.18 um 21:03 schrieb Raymond Auge:
You probably want to actually wait for the framework to stop:
FrameworkEvent frameworkEvent = Launcher.framework.waitForStop(timeout);
if (frameworkEvent.getType() == FrameworkEvent.WAIT_TIMEDOUT) {
_log.error("OSGi framework event {} triggered after a {}ms
timeout", frameworkEvent, timeout);
}
else if (_log.isInfoEnabled()) {
_log.info <http://log.info>(frameworkEvent);
}
HTH,
- Ray
On Mon, Oct 15, 2018 at 2:41 PM Martin Petzold via osgi-dev
<osgi-dev@mail.osgi.org <mailto:osgi-dev@mail.osgi.org>> wrote:
Dear list.
My aim is a graceful stop of the OSGi framework and all OSGi
blueprint
components.
If I stop the OSGi framework, the OSGi blueprint components are not
destroyed (destroy methods are not called). Why is this the case
and how
can I destroy them. I have my own OSGi launcher implementation. I'm
using a shutdown hook and then stop the OSGi framework:
Runtime.getRuntime().addShutdownHook(new Thread() {
@Override
public void run() {
Launcher.logService.log(LogService.LOG_WARNING, "HANDLE
SHUTDOWN");
if(Launcher.framework != null) {
try {
Launcher.framework.stop();
} catch (BundleException e) {
Launcher.logService.log(LogService.LOG_ERROR,
"Shutdown" + ((Launcher.framework != null) ? " of " +
Launcher.framework.getSymbolicName() + " " : " ") + "failed!", e);
System.exit(-1);
}
}
}
});
Thanks and kind regards,
Martin
_______________________________________________
OSGi Developer Mail List
osgi-dev@mail.osgi.org <mailto:osgi-dev@mail.osgi.org>
https://mail.osgi.org/mailman/listinfo/osgi-dev
--
*Raymond Augé*
<http://www.liferay.com/web/raymond.auge/profile> (@rotty3000)
Senior Software Architect *Liferay, Inc.*
<http://www.liferay.com> (@Liferay)
Board Member & EEG Co-Chair, OSGi Alliance <http://osgi.org>
(@OSGiAlliance)
_______________________________________________
OSGi Developer Mail List
osgi-dev@mail.osgi.org
https://mail.osgi.org/mailman/listinfo/osgi-dev