Hi Andreas,

thanks for the pointer to the Spring versions. Something weird is going on
here. I have no direct dependencies to Spring. I depend on 
camel-spring 2.16.0, which has Maven dependencies to Spring 4.1.6.RELEASE;
camel-spring-ws which depends on Spring 4.1.6.RELEASE and spring-ws-core
2.2.1 and spring-ws-support 2.2.1, which in turn depend on Spring
4.0.9.RELEASE.
activemq-camel 5.12.1 which depends on camel-spring 2.15.3, which is omitted
in the Maven world in favor of camel-spring 2.16.0

Deploying my features that depend on camel-spring(-ws) 2.16.0 and
activemq-camel 5.12.1 in Karaf 4, using the respective Camel 2.16.0 and
ActiveMQ Karaf features as dependencies in my KAR feature repository, leaves
me with Spring 3.2.14.RELEASE_1 loaded. No other version is present:

karaf@root()> feature:install pep
objc[31186]: Class JavaLaunchHelper is implemented in both
/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home/bin/java and
/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home/jre/lib/libinstrument.dylib.
One of the two will be used. Which one is undefined.
karaf@root()> feature:install pas-webservice-patient
karaf@root()> feature:install pas-webservice-hp
karaf@root()> feature:install graph-manager
karaf@root()> feature:list | grep -i "spring.*started"
spring-dm                               | 1.2.1            |          |
Started     | spring-4.0.3                | Spring DM support
spring                                  | 3.2.14.RELEASE_1 |          |
Started     | spring-4.0.3                | Spring 3.2.x support
spring-jms                              | 3.2.14.RELEASE_1 |          |
Started     | spring-4.0.3                | Spring 3.2.x JMS support
spring-oxm                              | 3.2.14.RELEASE_1 |          |
Started     | spring-4.0.3                | Spring 3.2.x OXM support
spring-tx                               | 3.2.14.RELEASE_1 |          |
Started     | spring-4.0.3                | Spring 3.2.x Transaction (TX)
support
spring-web                              | 3.2.14.RELEASE_1 |          |
Started     | spring-4.0.3                | Spring 3.2.x Web support
camel-spring                            | 2.16.0           |          |
Started     | camel-2.16.0                |
camel-spring-ws                         | 2.16.0           |          |
Started     | camel-2.16.0                |
karaf@root()>

If I now uninstall any one of my features, then this triggers the install of
spring 3.1.4!? I use the graph-manager to demonstrate, but the behavior for
the web-service features is the same.

karaf@root()> feature:uninstall graph-manager
karaf@root()> feature:list | grep -i "spring.*started"
spring-dm                               | 1.2.1            |          |
Started     | spring-4.0.3                | Spring DM support
spring                                  | 3.1.4.RELEASE    |          |
Started     | spring-4.0.3                | Spring 3.1.x support
spring                                  | 3.2.14.RELEASE_1 |          |
Started     | spring-4.0.3                | Spring 3.2.x support
spring-jms                              | 3.2.14.RELEASE_1 |          |
Started     | spring-4.0.3                | Spring 3.2.x JMS support
spring-oxm                              | 3.2.14.RELEASE_1 |          |
Started     | spring-4.0.3                | Spring 3.2.x OXM support
spring-tx                               | 3.2.14.RELEASE_1 |          |
Started     | spring-4.0.3                | Spring 3.2.x Transaction (TX)
support
spring-web                              | 3.2.14.RELEASE_1 |          |
Started     | spring-4.0.3                | Spring 3.2.x Web support
camel-spring                            | 2.16.0           |          |
Started     | camel-2.16.0                |
camel-spring-ws                         | 2.16.0           |          |
Started     | camel-2.16.0                |
karaf@root()>

To add to the weirdness, re-installing the graph-manager feature uninstalls
Spring 3.1.4 again:

karaf@root()> feature:install graph-manager
karaf@root()> feature:list | grep -i "spring.*started"
spring-dm                               | 1.2.1            |          |
Started     | spring-4.0.3                | Spring DM support
spring                                  | 3.2.14.RELEASE_1 |          |
Started     | spring-4.0.3                | Spring 3.2.x support
spring-jms                              | 3.2.14.RELEASE_1 |          |
Started     | spring-4.0.3                | Spring 3.2.x JMS support
spring-oxm                              | 3.2.14.RELEASE_1 |          |
Started     | spring-4.0.3                | Spring 3.2.x OXM support
spring-tx                               | 3.2.14.RELEASE_1 |          |
Started     | spring-4.0.3                | Spring 3.2.x Transaction (TX)
support
spring-web                              | 3.2.14.RELEASE_1 |          |
Started     | spring-4.0.3                | Spring 3.2.x Web support
camel-spring                            | 2.16.0           |          |
Started     | camel-2.16.0                |
camel-spring-ws                         | 2.16.0           |          |
Started     | camel-2.16.0                |
karaf@root()>

The graph-manager feature by itself has NO dependency on Spring(*) at all!
Starting with a clean Karaf:

karaf@root()> feature:install graph-manager
objc[31343]: Class JavaLaunchHelper is implemented in both
/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home/bin/java and
/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home/jre/lib/libinstrument.dylib.
One of the two will be used. Which one is undefined.
karaf@root()> feature:list | grep -i "spring.*started"
karaf@root()> 

(*) It had a dependency to camel-spring 2.16.0 until 30 minutes ago, but
that is a legacy left-over that I now removed for this test.


Ralf



--
View this message in context: 
http://karaf.922171.n3.nabble.com/KAR-deployment-in-Karaf-4-0-3-fails-with-varying-errors-tp4043649p4043719.html
Sent from the Karaf - User mailing list archive at Nabble.com.

Reply via email to