Hi all,

I've found a strange behaviour while trying to make spring deployer work on
Karaf 2.4.1:

I start Karaf with spring-dm and camel-spring features enabled at startup:
featuresBoot = karaf-framework, [...] ,spring-dm,camel-spring,webconsole


as a result, also spring feature is installed:
karaf@root> features:list | grep spring | grep -v uninstalled
[installed  ] [1.2.1           ] spring-dm
spring-2.4.1                    Spring DM support
[installed  ] [3.2.11.RELEASE_1] spring
 spring-2.4.1                    Spring 3.2.x support
[installed  ] [3.2.11.RELEASE_1] spring-tx
spring-2.4.1                    Spring 3.2.x Transaction (TX) support
[installed  ] [2.13.2          ] camel-spring
 camel-2.13.2


but the deployer feature has not installed the spring deployer bundle (the
istallation of which installation is conditional to the presence of the
spring's feature which is available)

<feature name="deployer" description="Karaf Deployer"
version="${project.version}">
    <bundle start="true"
start-level="26">mvn:org.apache.karaf.deployer/org.apache.karaf.deployer.features/${project.version}</bundle>
   [...]
    <conditional>
        <condition>spring</condition>
        <bundle start="true"
start-level="24">mvn:org.apache.karaf.deployer/org.apache.karaf.deployer.spring/${project.version}</bundle>
    </conditional>
    [...]
</feature>


I thought it to be a bootstrap problem dependent on the order of how
features are loaded, but even if I uninstall and reinstall deployer
feature, the bundle org.apache.karaf.deployer.spring is not installed:

karaf@root> features:uninstall deployer
karaf@root> features:install deployer
karaf@root> list -t 0
START LEVEL 100 , List Threshold: 0
   ID   State         Blueprint      Spring    Level  Name
...
[ 113] [Active     ] [Created     ] [       ] [   26] Apache Karaf ::
Deployer :: Features (2.4.1)
[ 114] [Active     ] [Created     ] [       ] [   24] Apache Karaf ::
Deployer :: Blueprint (2.4.1)
karaf@root>


if install the bundle "org.apache.karaf.deployer.spring" manually, then
everything seems to be working and the spring file I have copied on deploy
folder starts:


karaf@root> install -s
mvn:org.apache.karaf.deployer/org.apache.karaf.deployer.spring/2.4.1
Bundle ID: 115
karaf@root> list -t 0
START LEVEL 100 , List Threshold: 0
   ID   State         Blueprint      Spring    Level  Name
...
[ 113] [Active     ] [Created     ] [       ] [   26] Apache Karaf ::
Deployer :: Features (2.4.1)
[ 114] [Active     ] [Created     ] [       ] [   24] Apache Karaf ::
Deployer :: Blueprint (2.4.1)
[ 115] [Active     ] [Created     ] [       ] [   80] Apache Karaf ::
Deployer :: Spring (2.4.1)
[ 116] [Active     ] [            ] [Started] [   80] beans.xml (0.0.0)
karaf@root>


I've also discovered that the deployer feature installs the spring deployer
bundle only if I install latest version of spring feature, 4.1.2.RELEASE_1,
which I want to avoid as I don't use yet spring 4.

Is this behaviour expected or should the spring deployer be installed also
with previous versions of spring?


Regards,
Cristiano

Reply via email to