Kar文件删除留下了功能

时间:2013-07-01 11:10:55

标签: activemq apache-karaf osgi-bundle

我正在通过.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            

谢谢,

学家

1 个答案:

答案 0 :(得分:0)

是的,这是预期的行为。 kar文件部署是在一个工件中提供功能和包的简单方法,尽管功能描述符甚至在卸载的kar包之后仍然存在。同样的事情是安装功能,目前还不支持卸载传递功能。有关此问题的工作在最新版本3.0.0中完成