camel-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Claus Ibsen (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CAMEL-9048) camel-core causes restart of karaf console if it is refreshed
Date Thu, 06 Aug 2015 09:32:04 GMT

    [ https://issues.apache.org/jira/browse/CAMEL-9048?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14659741#comment-14659741
] 

Claus Ibsen commented on CAMEL-9048:
------------------------------------

Thanks for the explanation

> 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)

Mime
View raw message