Nikita Glukhov created DOSGI-284:
------------------------------------
Summary: cxf-dosgi-decorator failed to start in Karaf
Key: DOSGI-284
URL: https://issues.apache.org/jira/browse/DOSGI-284
Project: CXF Distributed OSGi
Issue Type: Bug
Affects Versions: 2.3.0
Environment: Apache Karaf 4.2.9 (fresh installation with default
configs)
Oracle JDK 1.8_151
Reporter: Nikita Glukhov
Steps to reproduce:
{code}
feature:repo-add cxf
feature:repo-add cxf-dosgi
feature:install cxf-jaxws
feature:install cxf-dosgi-provider-ws
og:display
{code}
Viola, a stacktrace is:
{code:java}
01:28:22.851 INFO [features-3-thread-1]
org.apache.cxf.dosgi.cxf-dosgi-decorator/2.3.0
01:28:23.089 ERROR [Karaf local console user karaf] Exception caught while
executing command
org.apache.karaf.features.internal.util.MultiException: Error restarting
bundles:
Activator start error in bundle
org.apache.cxf.dosgi.cxf-dosgi-decorator [118].
at
org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:1044)
~[?:?]
at
org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1062)
~[?:?]
at
org.apache.karaf.features.internal.service.FeaturesServiceImpl.lambda$doProvisionInThread$13(FeaturesServiceImpl.java:998)
~[?:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
~[?:1.8.0_151]
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
~[?:1.8.0_151]
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
~[?:1.8.0_151]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_151]
Suppressed: org.osgi.framework.BundleException: Activator start error
in bundle org.apache.cxf.dosgi.cxf-dosgi-decorator [118].
at
org.apache.felix.framework.Felix.activateBundle(Felix.java:2290) ~[?:?]
at
org.apache.felix.framework.Felix.startBundle(Felix.java:2146) ~[?:?]
at
org.apache.felix.framework.BundleImpl.start(BundleImpl.java:998) ~[?:?]
at
org.apache.felix.framework.BundleImpl.start(BundleImpl.java:984) ~[?:?]
at
org.apache.karaf.features.internal.service.BundleInstallSupportImpl.startBundle(BundleInstallSupportImpl.java:165)
~[?:?]
at
org.apache.karaf.features.internal.service.FeaturesServiceImpl.startBundle(FeaturesServiceImpl.java:1153)
~[?:?]
at
org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:1036)
~[?:?]
at
org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1062)
~[?:?]
at
org.apache.karaf.features.internal.service.FeaturesServiceImpl.lambda$doProvisionInThread$13(FeaturesServiceImpl.java:998)
~[?:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
~[?:1.8.0_151]
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
~[?:1.8.0_151]
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
~[?:1.8.0_151]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_151]
Caused by: java.lang.NoClassDefFoundError: com/sun/istack/FinalArrayList
at
com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:249) ~[?:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
~[?:1.8.0_151]
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
~[?:1.8.0_151]
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
~[?:1.8.0_151]
at java.lang.reflect.Method.invoke(Method.java:498)
~[?:1.8.0_151]
at
javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:143) ~[?:1.8.0_151]
at javax.xml.bind.ContextFinder.find(ContextFinder.java:310)
~[?:1.8.0_151]
at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:431)
~[?:1.8.0_151]
at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:394)
~[?:1.8.0_151]
at
org.apache.cxf.dosgi.dsw.decorator.DecorationParser.<init>(DecorationParser.java:48)
~[?:?]
at
org.apache.cxf.dosgi.dsw.decorator.ServiceDecoratorImpl.<init>(ServiceDecoratorImpl.java:45)
~[?:?]
at
org.apache.cxf.dosgi.dsw.decorator.Activator.start(Activator.java:31) ~[?:?]
at
org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:697)
~[?:?]
at
org.apache.felix.framework.Felix.activateBundle(Felix.java:2240) ~[?:?]
... 12 more
Caused by: java.lang.ClassNotFoundException:
com.sun.istack.FinalArrayList not found by
org.apache.servicemix.bundles.jaxb-runtime [67]
at
org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1639)
~[?:?]
at
org.apache.felix.framework.BundleWiringImpl.access$200(BundleWiringImpl.java:80)
~[?:?]
at
org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:2053)
~[?:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
~[?:1.8.0_151]
at
com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:249) ~[?:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
~[?:1.8.0_151]
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
~[?:1.8.0_151]
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
~[?:1.8.0_151]
at java.lang.reflect.Method.invoke(Method.java:498)
~[?:1.8.0_151]
at
javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:143) ~[?:1.8.0_151]
at javax.xml.bind.ContextFinder.find(ContextFinder.java:310)
~[?:1.8.0_151]
at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:431)
~[?:1.8.0_151]
at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:394)
~[?:1.8.0_151]
at
org.apache.cxf.dosgi.dsw.decorator.DecorationParser.<init>(DecorationParser.java:48)
~[?:?]
at
org.apache.cxf.dosgi.dsw.decorator.ServiceDecoratorImpl.<init>(ServiceDecoratorImpl.java:45)
~[?:?]
at
org.apache.cxf.dosgi.dsw.decorator.Activator.start(Activator.java:31) ~[?:?]
at
org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:697)
~[?:?]
at
org.apache.felix.framework.Felix.activateBundle(Felix.java:2240) ~[?:?]
... 12 more
{code}
I'm a newbie in a OSGI world, so the possibility to have a
ClassNotFoundException upon bundles in a resolved state looks strange for me(
Moreover, if I print
{code:java}
package:exports -p com.sun.istack {code}, I have the following:
{code}
karaf@root()> package:exports -p com.sun.istack
Package Name | Version | ID | Bundle Name
----------------------------+---------+-----+----------------------------------------
com.sun.istack.localization | 2.21.0 | 120 |
org.apache.servicemix.bundles.jaxb-impl
com.sun.istack.localization | 3.0.7 | 45 | com.sun.istack.commons-runtime
com.sun.istack.logging | 2.21.0 | 120 |
org.apache.servicemix.bundles.jaxb-impl
com.sun.istack.logging | 3.0.7 | 45 | com.sun.istack.commons-runtime
com.sun.istack.tools | 2.2.11 | 121 |
org.apache.servicemix.bundles.jaxb-xjc
com.sun.istack.tools | 2.3.1 | 68 |
org.apache.servicemix.bundles.jaxb-xjc
com.sun.istack | 2.21.0 | 120 |
org.apache.servicemix.bundles.jaxb-impl
com.sun.istack | 3.0.7 | 45 | com.sun.istack.commons-runtime
{code}
Why is the cxf-dosgi-decorator bundle resolved and wired to an exporter, in
which the class is not present? Are any workarounds here?
--
This message was sent by Atlassian Jira
(v8.3.4#803005)