0
我目前有一个应用程序使用在Windows和Linux上运行的Equinox OSGI容器。每个平台都有自己的启动脚本。作为更新的一部分,有时必须重新启动容器。有没有一种方法可以在JAVA代码中重新启动Equinox OSGI容器,而无需调用特定于平台的脚本?重新启动Equinox容器的平台无关的方式?
我目前有一个应用程序使用在Windows和Linux上运行的Equinox OSGI容器。每个平台都有自己的启动脚本。作为更新的一部分,有时必须重新启动容器。有没有一种方法可以在JAVA代码中重新启动Equinox OSGI容器,而无需调用特定于平台的脚本?重新启动Equinox容器的平台无关的方式?
是的,只需使用FrameworkFactory
API启动框架即可。
当你的启动程序完成了它想要的所有设置后,它应该调用framework.waitForStop()
,这会阻塞,直到OSGi关闭。此方法还返回FrameworkEvent
,您可以查看。如果事件类型为STOPPED_UPDATE
那么您应该循环回来并重新引导框架。
我认为重新启动ID为0的软件包会有诀窍。 –