Hello everyone I created a little executable-jar which launches Felix. After some computation has been done the framework is shutdown by using context.getBundle(0).stop()
This however always throws an InterruptedException java.lang.InterruptedException at java.lang.Object.wait(Native Method) at org.apache.felix.framework.util.ThreadGate.await(ThreadGate.java:79) at org.apache.felix.framework.Felix.waitForStop(Felix.java:1068) at aQute.launcher.Launcher.deactivate(Launcher.java:738) at aQute.launcher.Launcher.run(Launcher.java:287) at aQute.launcher.Launcher.main(Launcher.java:87) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at aQute.launcher.pre.EmbeddedLauncher.main(EmbeddedLauncher.java:38) My only guess is, that this has something to do with the way I execute my code: I use an @Activate method which runs some code and shuts down the framework before it completes @Activate void activate(ComponentContext ctx){ this.context = ctx.getBundleContext(); try{ executeGroovy(); }catch(Throwable t){ t.printStackTrace(); } String keepAlive = context.getProperty( "de.sdv.geb.runner.keepAlive"); if(!Boolean.parseBoolean(keepAlive)){ try { System.out.println("Shutting down"); context.getBundle(0).stop(); } catch (BundleException e) { System.err.println("Error stopping OSGI-Container...killing VM now"); e.printStackTrace(); // hard way System.exit(1); } } } Using Felix 5.2.0 and the executable jar is created with BndTool 3.0.0 from a run-descriptor. Any ideas how to get rid of this exceptions? Thanks Marc