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