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