java中的Karaf命令执行

时间:2017-07-26 12:31:49

标签: java apache-karaf

我想通过java进行像deploy/Active/Unistall maven bundle这样的操作。我怎么能在Java应用程序中做到这一点? 有什么帮助吗?

1 个答案:

答案 0 :(得分:0)

几乎每个karaf组件都通过OSGi Services和JMX MBeans公开它的内部组件,所以有几种方法可以实现你想要的,例如:

  1. 使用Blueprint,Declarative Services或Spring创建一个引用Karaf OSGi服务的包;例如,如果要通过捆绑包控制捆绑软件安装/更新/刷新,则将引用BundleContext和BundleService接口。
  2. 在您的karaf中安装Jolokia和Hawtio,它将在REST服务下公开几个控制包,实例,功能等的JMX MBean。有了它,您可以创建一个使用这些服务的Java应用程序。有关可用Mbeans的列表,请参阅Karaf Documentation
  3. 如上所述,创建一个通过JMX连接到karaf并使用JMX MBean的Java应用程序。
  4. 由您决定选择哪种解决方案来解决您的问题。