我为jboss-fuse构建OSGi功能的持续集成。构建功能(并发布到工件库)后,将建立SSH到OSGi控制台并执行以下命令:
features:uninstall xyz
features:install xyz
这在安装xyz时有效,否则以明显的失败结束:
Error executing command: Feature named 'xyz' is not installed
有没有办法如何条件卸载给定的功能?例如,使用shell:if
命令?或者其他方式如何自动重新安装给定的功能?
答案 0 :(得分:0)
据我所知,您使用Karaf的一部分在jboss容器中安装您的功能。
您可以将kar服务(org.apache.karaf.kar.KarService)注入测试并使用其中的安装/卸载功能。
如果你正在远程工作(我认为你是),你可以使用JMX MBean org.apache.karaf:type = feature,name = root来远程安装/卸载你的功能。