我正在通过.kar文件打包部署到Karaf的应用程序。我注意到,即使我从deploy文件夹中删除了.kar文件,仍会安装许多依赖功能(在我的示例中来自activemq和camel)。
这是预期的行为吗?我曾预料到部署完全可以逆转。
我的功能文件如下所示: -
<?xml version="1.0" encoding="UTF-8"?>
<features xmlns="http://karaf.apache.org/xmlns/features/v1.0.0">
<repository>mvn:org.apache.camel.karaf/apache-camel/2.10.2/xml/features</repository>
<repository>mvn:org.apache.activemq/activemq-karaf/5.7.0/xml/features</repository>
<repository>mvn:io.hawt/hawtio-karaf/1.0/xml/features</repository>
<feature name="jellyfish-messaging" version="0.0.2-SNAPSHOT">
<!-- core components -->
<feature version="2.2.8">war</feature>
<feature version="2.6.3">cxf</feature>
<feature version="2.10.2">camel-cxf</feature>
<feature version="2.10.2">camel-blueprint</feature>
<feature version="2.10.2">camel-jetty</feature>
<feature version="2.10.2">camel-twitter</feature>
<feature version="2.10.2">camel-mail</feature>
<feature version="5.7.0">activemq-blueprint</feature>
<feature version="5.7.0">activemq-spring</feature>
<feature version="5.7.0">activemq-web-console</feature>
<feature version="5.7.0">activemq-camel</feature>
<!-- jellyfish messaging-specific -->
<bundle dependency="true">mvn:org.jellyfish/jellyfish-messaging-broker/0.0.2-SNAPSHOT</bundle>
...etc etc etc
我删除.kar文件后,我就离开了: -
karaf@root>features:list | grep activemq
[uninstalled] [5.4.2 ] activemq cxf-2.6.3
[installed ] [5.7.0 ] activemq activemq-5.7.0
[installed ] [5.7.0 ] activemq-spring activemq-5.7.0
[installed ] [5.7.0 ] activemq-blueprint activemq-5.7.0
[uninstalled] [5.7.0 ] activemq-optional activemq-5.7.0
[installed ] [5.7.0 ] activemq-camel activemq-5.7.0
[installed ] [5.7.0 ] activemq-web-console activemq-5.7.0
[uninstalled] [5.7.0 ] activemq-extra activemq-5.7.0
谢谢,
学家
答案 0 :(得分:0)
是的,这是预期的行为。 kar文件部署是在一个工件中提供功能和包的简单方法,尽管功能描述符甚至在卸载的kar包之后仍然存在。同样的事情是安装功能,目前还不支持卸载传递功能。有关此问题的工作在最新版本3.0.0中完成