【发布时间】:2020-09-29 13:58:56
【问题描述】:
我对 OSGI 完全陌生,我开发了一个编译器,可以将 DSL 转换为 OSGI 包,现在我想使用 java 和远程 Karaf 容器以编程方式(启动、停止、部署)管理这些包,我想知道是否有可能,如果可以,我该怎么做?
【问题讨论】:
标签: osgi apache-karaf
我对 OSGI 完全陌生,我开发了一个编译器,可以将 DSL 转换为 OSGI 包,现在我想使用 java 和远程 Karaf 容器以编程方式(启动、停止、部署)管理这些包,我想知道是否有可能,如果可以,我该怎么做?
【问题讨论】:
标签: osgi apache-karaf
做到这一点的最 karaf 原生方法是也为每个 DSL 包创建一个功能。这样,您可以安装功能 repo 和功能,它也安装了捆绑包。这种方法还允许部署/取消部署捆绑包可能具有的依赖项。要使用它,您将捆绑包和功能部署到 maven repo 并使用此 repo url 安装。您可以使用jmx beans 触发功能安装。
另一种可能的方法是直接通过 jmx 安装包。我没有它的实际文档参考,但您可以简单地通过 jconsole 检查 bean。
【讨论】: