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

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

Yes that is the problem. I am preparing a single squash commit that revert this 
so we can have it working again - especially for the 2.15.x branch as that is a 
patch branch.

Christian can you work on a solution that does not break Camel on Karaf. And 
please give it a test spin on more versions of Karaf.

Here is a quick way to test
{code}
karaf@root> features:chooseurl camel 2.16-SNAPSHOT
Adding feature url 
mvn:org.apache.camel.karaf/apache-camel/2.16-SNAPSHOT/xml/features
karaf@root> features:addUrl 
mvn:org.apache.camel/camel-example-osgi/2.16-SNAPSHOT/xml/features
karaf@root> features:install camel-example-osgi
karaf@root> log:tail -n 10
{code}

> 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