2016-05-13 71 views
0

我目前有一个应用程序使用在Windows和Linux上运行的Equinox OSGI容器。每个平台都有自己的启动脚本。作为更新的一部分,有时必须重新启动容器。有没有一种方法可以在JAVA代码中重新启动Equinox OSGI容器,而无需调用特定于平台的脚本?重新启动Equinox容器的平台无关的方式?

+0

我认为重新启动ID为0的软件包会有诀窍。 –

回答

0

是的,只需使用FrameworkFactory API启动框架即可。

当你的启动程序完成了它想要的所有设置后,它应该调用framework.waitForStop(),这会阻塞,直到OSGi关闭。此方法还返回FrameworkEvent,您可以查看。如果事件类型为STOPPED_UPDATE那么您应该循环回来并重新引导框架。