服务组合专家。我需要一些指导。以下是我的问题场景。
Web 应用程序(webapp1)正在 tomcat 容器中运行,并且在同一台计算机上正在执行 servicemix(v4.5.3)。 我已经使用 apache cxf 在 servicemix 上部署了 Web 服务(ws1)。我从我的网络应用程序(webapp1)访问了网络服务(ws1)。运行良好。现在,我的问题是我想以编程方式在 servicemix 上启动另一个已安装的 bundle (简单的 java 应用程序)。我想编写业务逻辑来在 Web 服务(ws1)中启动 bundle ,以便当我点击 webservice(ws1)时,它会启动该 bundle 。
请提供一些建议。
最佳答案
如果部署到 ServiceMix 的 Web 服务包使用 Spring 配置,则只需向任何 bean 添加属性(和 setter 方法)即可访问 BundleContext:
<property name="bundleContext" ref="bundleContext" />
BundleContext使您可以访问一系列内容,在您的实例中使用 getBundle
或 getBundles
方法来获取所需的 Bundle 对象,然后发出启动/停止等。
关于java - 在 apache servicemix 中以编程方式启动 OSGI 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20757208/