Christian Schneider created CAMEL-9048:
------------------------------------------

             Summary: camel-core causes restart of karaf console if it is 
refreshed
                 Key: CAMEL-9048
                 URL: https://issues.apache.org/jira/browse/CAMEL-9048
             Project: Camel
          Issue Type: Bug
          Components: camel-osgi
    Affects Versions: 2.15.2
            Reporter: Christian Schneider
            Assignee: Christian Schneider
             Fix For: 2.16.0, 2.15.3


Start karaf 4.0.0

feature:repo-add mvn:org.apache.cxf.karaf/apache-cxf/3.1.1/xml/features
feature:repo-add mvn:org.apache.camel.karaf/apache-camel/2.15.2/xml/features
feature:install camel-core
feature:install -v wss4j

The last feature install causes the karaf shell to restart. The refreshed 
bundles list shows this:
    jline/2.12.1 (Wired to org.apache.camel.camel-core/2.15.2 which is being 
refreshed)
    org.apache.camel.camel-core/2.15.2 (Should be wired to: 
org.apache.servicemix.bundles.xalan/2.7.1.7 (through 
[org.apache.camel.camel-core/2.15.2] osgi.wiring.package; 
filter:="(osgi.wiring.package=org.apache.xalan.xsltc.trax)"; 
resolution:=optional))

So this shows that the immediate reason is that jline was refreshed. As jline 
is used by the shell it also restarts.

Now it might seem strange that jline depends on camel-core. I had a similar 
issue in activemq-core Activator. It probed the classloaders of all bundles for 
well known interfaces to find extensions. I think camel-core does the same. The 
problem here is that jline has a dynamic import package: *. So the bundle 
classloader of jline is able to find any camel interface and will then have a 
wire to camel-core. So if then there is a refresh of camel-core it also will be 
refreshed.

This issue can hit all bundles that have a dynamic import package *. 

the solution is to not actually load interface classes but rather check the 
bundle wiring if there is a wiring to an interface package. This will then not 
change the wirings and so not cause these problems.

I will try to provide a fix for the problem.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to