到目前为止,我实现了一个 Fedora 服务,它在机器启动时启动我的 OSGi。我有停止它的问题。当我执行时,我根本不知道如何从我的终端/shell脚本中停止Equinox osgiservice <osgi servicename> stop
我有一个特定的要求,当我停止 OSGi 时,我想按特定顺序停止捆绑。我写了一个捆绑终止代码,但我如何从 osgi 终端外部调用它?
我尝试使用 telnet,但未获得批准的解决方案。
您可以使用Java Service Wrapper的社区版。使用WrapperStartStopApp或WrapperListener应该满足您的需求。
最简单的方法是使用Apache Karaf。它可以配置为在后台使用 Equinox,并附带可用于启动和停止它的初始化脚本。
使用纯 Equinox,您必须自己实现它。有一个很好的代码项目展示了如何做到这一点。http://code.google.com/p/equinox-headless-service/