[
https://issues.apache.org/jira/browse/CAMEL-9048?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14659662#comment-14659662
]
Claus Ibsen commented on CAMEL-9048:
------------------------------------
Thanks for the quick fix.
I do wonder if that clear is correct? Eg if a bundle is stopped, then it clears
all of them, also entries that was added by other bundles that was started
before hand? Should it not only remove the entries from the bundle that
stopped, and not all of them ?
> 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)