我有一个非常复杂的OSGi应用程序,它使用Declarative Services并设计为部署在Equinox中。现在的任务是使该应用程序可以在WAS 8中部署。
第一次尝试是非常务实的:我已经部署了一个EAR,它已经启动了基本相同的Equinox,并且在一些WAS类加载策略调整之后它已经有效。
现在我想更进一步:摆脱Equinox运行时并在WAS 8中“本地”部署我的捆绑包。所以我编写了一个EBA,由我的业务包,它们的依赖项和Equinox DS运行时组成。 EBA作为资产部署并集成到BLA中。应用程序甚至已启动并运行,但组件未初始化。
重点是必须在自己的业务包之前启动equinox.ds (更新:不是必须,s。下面的讨论),以使DS完成其工作。但是如何告知捆绑包在部署的EBA中首先启动哪些捆绑包?我需要一些Equinox'config.ini文件的模拟。
我知道我可以使用原生支持的蓝图重新组合我的组件,但坦率地说,这是我想做的最后一件事。应该可以使Equinox DS工作,不应该吗?
另一个问题是:如何在WAS 8下部署自己的应用程序的OSGi控制台?我想控制我的捆绑包,但似乎没有办法从管理控制台执行此操作。
更新
感谢BJ和Neil(以下讨论),问题归结为“我如何在WAS 8.0中部署的自己的OSGi应用程序中启动特定的捆绑包?”
答案 0 :(得分:1)
要回答问题的OSGi控制台部分,普通的OSGi控制台将无法工作,因为OSGi应用程序是在嵌套框架中管理的。 WebSphere提供了自己的控制台,可以导航嵌套的应用程序:http://pic.dhe.ibm.com/infocenter/wasinfo/v8r0/index.jsp?topic=%2Fcom.ibm.websphere.osgi.nd.multiplatform.doc%2Ftopics%2Fta_admin_runtime_console.html