java - 在 apache servicemix 中以编程方式启动 OSGI 包

标签 java web-services osgi-bundle apache-servicemix

服务组合专家。我需要一些指导。以下是我的问题场景。

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使您可以访问一系列内容,在您的实例中使用 getBundlegetBundles 方法来获取所需的 Bundle 对象,然后发出启动/停止等。

关于java - 在 apache servicemix 中以编程方式启动 OSGI 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20757208/

相关文章:

java - 从 Java 运行 Windows 命令行

java - 使用 JNI 将数据类型从 Java 传递到 C(反之亦然)

java - 如何在运行时在 Android 中显示图像并将单选按钮作为列表中的单选组

c++ - WebServices 的跨平台开源第三方库

java - OSGi `uses` 约束违规,即使存在兼容的导出器

javascript - WEB 上的 Apple Pay 集成 - 设置沙盒环境

c# - ASP.NET WebService 正在用 XML 标记包装我的 JSON 响应

java - 使 maven 依赖 OSGi 准备就绪

java - 将 maven-bundle-plugin 包含的资源声明为可选

ios - 获取易趣商品的价格和名称