我正在寻找关闭OSGi容器的最佳实践。
目前我们正在使用一个小的启动器应用程序,它调用EclipseStarter.startup()并安装一些核心包。在此之后,启动器终止。
当测试图形用户界面(以包的形式运行)关闭时,它会调用System.exit(0)来关闭容器,但是必须有一个比这个更好的解决方案。
谢谢
发布于 2013-04-18 20:01:22
我通常会像这样终止框架:
bundlecontext.getBundle(0).stop();
id =0的包是system-bundle
发布于 2009-12-17 03:15:47
我还在应用程序嵌入上下文中使用Equinox,并在System Bundle上调用stop(),然后调用EclipseStarter.shutdown()。您可能不得不停止所有的捆绑包。
我从来没有真正关心过我的应用程序中的包关闭,因为没有保留状态。
发布于 2010-02-09 18:39:15
目前还没有标准的方法来做到这一点。OSGI将在下一版本中将这一部分作为其标准api的一部分,但我猜在所有OSGI容器实现这一点之前还需要一段时间。现在使用容器特定的代码,但不要使用System.exit()。
致以敬意,
Leen Toelen
https://stackoverflow.com/questions/1916432
复制相似问题