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