camel-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Christian Schneider (JIRA)" <>
Subject [jira] [Updated] (CAMEL-9048) camel-core causes restart of karaf console if it is refreshed
Date Wed, 05 Aug 2015 08:07:04 GMT


Christian Schneider updated CAMEL-9048:
    Fix Version/s: 2.15.3

> camel-core causes restart of karaf console if it is refreshed
> -------------------------------------------------------------
>                 Key: CAMEL-9048
>                 URL:
>             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/
(through [org.apache.camel.camel-core/2.15.2] osgi.wiring.package; filter:="(osgi.wiring.package=org.apache.xalan.xsltc.trax)";
> 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

View raw message