Jam*_*arr 19 osgi shutdown equinox
我正在寻找关闭OSGi容器的最佳实践.
目前我们正在使用一个小型启动器应用程序,它调用EclipseStarter.startup()并安装一些核心软件包.之后发射器终止.
当测试GUI(作为一个捆绑包运行)关闭时,它调用System.exit(0)来关闭容器,但必须有一个比这更优雅的解决方案.
谢谢
And*_*aft 22
请不要使用System.exit(0)来关闭OSGi框架.您应该通过使用ID 0(系统捆绑包)停止捆绑包来实现此目的.这样,您可以为所有捆绑包提供以有序方式关闭的机会(例如,释放资源等).
OSGi规范定义了以下内容(核心规范,R4.x,4.2.6停止框架).
可以通过停止系统包,[...]或在框架对象上调用stop方法来启动关闭.
在该章中,给出了关闭框架时会发生什么的详细描述.
系统捆绑包.框架对象也被定义(第4.6章系统包):
启动框架时,系统包类似于框架对象,但实现不需要为框架对象和系统包使用相同的对象.但是,两个对象必须具有包ID 0,相同位置和包符号名称.
OSGi规范可在OSGi Alliance的网站(http://www.osgi.org/Specifications/HomePage)免费获取.
| 归档时间: |
|
| 查看次数: |
8749 次 |
| 最近记录: |