[
https://issues.apache.org/jira/browse/DOSGI-259?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ivo Leitão updated DOSGI-259:
-----------------------------
Description:
Good Morning,
I've created a simple service to test the capabilities of the cxf
implementation of dosgi. This service retrieves data from a soap service and
publishes it as a rest service via DOSGI.
Currently I have an API bundle with
Require-Capability: \
compile-only
which houses the interfaces and the DTO's (naked DTO's per description of Peter
Kriens in http://enroute.osgi.org/appnotes/dtos.html).
In the implementation bundle which exports the API I have a simple
implementation of the service. All works well except the redeployment of the
bundle. I'm using apache karaf (4.1) and a sling plugin
(http://sling.apache.org/components/maven-sling-plugin/install-mojo.html) to
easily redeploy the bundles in a running karaf instance from maven (I don't
think its related). Every time I redeploy the implementation bundle I'm seeing
the error bellow.
It works despite this error but it seems that bundle redeployment is not
correctly handled. I've tried also with an explicit deployment of the API and
Implementation bundle and I have the same problem in the implementation bundle
upon redeployment
Exception in thread "pool-33-thread-3" java.lang.NoClassDefFoundError:
com/acme/platform/samples/modules/geoip/api/dto/ResolvedCountryDTO
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
at java.lang.Class.privateGetPublicMethods(Class.java:2902)
at java.lang.Class.getMethods(Class.java:1615)
at
org.apache.cxf.jaxrs.model.AbstractResourceInfo.findContextSetterMethods(AbstractResourceInfo.java:250)
at
org.apache.cxf.jaxrs.model.AbstractResourceInfo.findContexts(AbstractResourceInfo.java:113)
at
org.apache.cxf.jaxrs.model.AbstractResourceInfo.<init>(AbstractResourceInfo.java:106)
at
org.apache.cxf.jaxrs.model.AbstractResourceInfo.<init>(AbstractResourceInfo.java:91)
at
org.apache.cxf.jaxrs.model.BeanResourceInfo.<init>(BeanResourceInfo.java:47)
at
org.apache.cxf.jaxrs.model.ClassResourceInfo.<init>(ClassResourceInfo.java:87)
at
org.apache.cxf.jaxrs.utils.ResourceUtils.createClassResourceInfo(ResourceUtils.java:285)
at
org.apache.cxf.jaxrs.utils.ResourceUtils.createClassResourceInfo(ResourceUtils.java:276)
at
org.apache.cxf.jaxrs.JAXRSServiceFactoryBean.createResourceInfo(JAXRSServiceFactoryBean.java:208)
at
org.apache.cxf.jaxrs.JAXRSServiceFactoryBean.setResourceClasses(JAXRSServiceFactoryBean.java:168)
at
org.apache.cxf.jaxrs.JAXRSServiceFactoryBean.setResourceClasses(JAXRSServiceFactoryBean.java:217)
at
org.apache.cxf.jaxrs.JAXRSServerFactoryBean.setServiceClass(JAXRSServerFactoryBean.java:292)
at
org.apache.cxf.dosgi.dsw.handlers.rest.RsProvider.createServerFactory(RsProvider.java:199)
at
org.apache.cxf.dosgi.dsw.handlers.rest.RsProvider.exportService(RsProvider.java:140)
at
org.apache.aries.rsa.core.RemoteServiceAdminCore.exportService(RemoteServiceAdminCore.java:208)
at
org.apache.aries.rsa.core.RemoteServiceAdminCore.exportService(RemoteServiceAdminCore.java:117)
at
org.apache.aries.rsa.core.RemoteServiceAdminInstance$1.run(RemoteServiceAdminInstance.java:57)
at
org.apache.aries.rsa.core.RemoteServiceAdminInstance$1.run(RemoteServiceAdminInstance.java:55)
at java.security.AccessController.doPrivileged(Native Method)
at
org.apache.aries.rsa.core.RemoteServiceAdminInstance.exportService(RemoteServiceAdminInstance.java:55)
at
org.apache.aries.rsa.core.RemoteServiceAdminInstance.exportService(RemoteServiceAdminInstance.java:39)
at
org.apache.aries.rsa.topologymanager.exporter.TopologyManagerExport.exportServiceUsingRemoteServiceAdmin(TopologyManagerExport.java:155)
at
org.apache.aries.rsa.topologymanager.exporter.TopologyManagerExport.doExport(TopologyManagerExport.java:126)
at
org.apache.aries.rsa.topologymanager.exporter.TopologyManagerExport.access$000(TopologyManagerExport.java:54)
at
org.apache.aries.rsa.topologymanager.exporter.TopologyManagerExport$1.run(TopologyManagerExport.java:98)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.ClassNotFoundException: Unable to load class
'com.acme.platform.samples.modules.geoip.api.dto.ResolvedCountryDTO' because
the bundle wiring for com.celfocus.platform.samples.modules.geoip-ri is no
longer valid.
at
org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1539)
at
org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:79)
at
org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:2018)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 32 more
was:
Good Morning,
I've created a simple service to test the capabilities of the cxf
implementation of dosgi. This service retrieves data from a soap service and
publishes it as a rest service via DOSGI.
Currently I have an API bundle with
Require-Capability: \
compile-only
which houses the interfaces and the DTO's (naked DTO's per description of Peter
Kriens in http://enroute.osgi.org/appnotes/dtos.html).
In the implementation bundle which exports the API I have a simple
implementation of the service. All works well except the redeployment of the
bundle. I'm using apache karaf (4.1) and a sling plugin
(http://sling.apache.org/components/maven-sling-plugin/install-mojo.html) to
easily redeploy the bundles in a running karaf instance from maven (I don't
think its related). Every time I redeploy the implementation bundle I'm seeing
the error bellow.
It works despite this error but it seems that bundle redeployment is not
correctly handled
Exception in thread "pool-33-thread-3" java.lang.NoClassDefFoundError:
com/acme/platform/samples/modules/geoip/api/dto/ResolvedCountryDTO
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
at java.lang.Class.privateGetPublicMethods(Class.java:2902)
at java.lang.Class.getMethods(Class.java:1615)
at
org.apache.cxf.jaxrs.model.AbstractResourceInfo.findContextSetterMethods(AbstractResourceInfo.java:250)
at
org.apache.cxf.jaxrs.model.AbstractResourceInfo.findContexts(AbstractResourceInfo.java:113)
at
org.apache.cxf.jaxrs.model.AbstractResourceInfo.<init>(AbstractResourceInfo.java:106)
at
org.apache.cxf.jaxrs.model.AbstractResourceInfo.<init>(AbstractResourceInfo.java:91)
at
org.apache.cxf.jaxrs.model.BeanResourceInfo.<init>(BeanResourceInfo.java:47)
at
org.apache.cxf.jaxrs.model.ClassResourceInfo.<init>(ClassResourceInfo.java:87)
at
org.apache.cxf.jaxrs.utils.ResourceUtils.createClassResourceInfo(ResourceUtils.java:285)
at
org.apache.cxf.jaxrs.utils.ResourceUtils.createClassResourceInfo(ResourceUtils.java:276)
at
org.apache.cxf.jaxrs.JAXRSServiceFactoryBean.createResourceInfo(JAXRSServiceFactoryBean.java:208)
at
org.apache.cxf.jaxrs.JAXRSServiceFactoryBean.setResourceClasses(JAXRSServiceFactoryBean.java:168)
at
org.apache.cxf.jaxrs.JAXRSServiceFactoryBean.setResourceClasses(JAXRSServiceFactoryBean.java:217)
at
org.apache.cxf.jaxrs.JAXRSServerFactoryBean.setServiceClass(JAXRSServerFactoryBean.java:292)
at
org.apache.cxf.dosgi.dsw.handlers.rest.RsProvider.createServerFactory(RsProvider.java:199)
at
org.apache.cxf.dosgi.dsw.handlers.rest.RsProvider.exportService(RsProvider.java:140)
at
org.apache.aries.rsa.core.RemoteServiceAdminCore.exportService(RemoteServiceAdminCore.java:208)
at
org.apache.aries.rsa.core.RemoteServiceAdminCore.exportService(RemoteServiceAdminCore.java:117)
at
org.apache.aries.rsa.core.RemoteServiceAdminInstance$1.run(RemoteServiceAdminInstance.java:57)
at
org.apache.aries.rsa.core.RemoteServiceAdminInstance$1.run(RemoteServiceAdminInstance.java:55)
at java.security.AccessController.doPrivileged(Native Method)
at
org.apache.aries.rsa.core.RemoteServiceAdminInstance.exportService(RemoteServiceAdminInstance.java:55)
at
org.apache.aries.rsa.core.RemoteServiceAdminInstance.exportService(RemoteServiceAdminInstance.java:39)
at
org.apache.aries.rsa.topologymanager.exporter.TopologyManagerExport.exportServiceUsingRemoteServiceAdmin(TopologyManagerExport.java:155)
at
org.apache.aries.rsa.topologymanager.exporter.TopologyManagerExport.doExport(TopologyManagerExport.java:126)
at
org.apache.aries.rsa.topologymanager.exporter.TopologyManagerExport.access$000(TopologyManagerExport.java:54)
at
org.apache.aries.rsa.topologymanager.exporter.TopologyManagerExport$1.run(TopologyManagerExport.java:98)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.ClassNotFoundException: Unable to load class
'com.acme.platform.samples.modules.geoip.api.dto.ResolvedCountryDTO' because
the bundle wiring for com.celfocus.platform.samples.modules.geoip-ri is no
longer valid.
at
org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1539)
at
org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:79)
at
org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:2018)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 32 more
> java.lang.NoClassDefFoundError when updating Implementation bundle
> ------------------------------------------------------------------
>
> Key: DOSGI-259
> URL: https://issues.apache.org/jira/browse/DOSGI-259
> Project: CXF Distributed OSGi
> Issue Type: Bug
> Components: provider-rs
> Affects Versions: 2.1.0
> Environment: Debian Linux
> Reporter: Ivo Leitão
>
> Good Morning,
> I've created a simple service to test the capabilities of the cxf
> implementation of dosgi. This service retrieves data from a soap service and
> publishes it as a rest service via DOSGI.
> Currently I have an API bundle with
> Require-Capability: \
> compile-only
> which houses the interfaces and the DTO's (naked DTO's per description of
> Peter Kriens in http://enroute.osgi.org/appnotes/dtos.html).
> In the implementation bundle which exports the API I have a simple
> implementation of the service. All works well except the redeployment of the
> bundle. I'm using apache karaf (4.1) and a sling plugin
> (http://sling.apache.org/components/maven-sling-plugin/install-mojo.html) to
> easily redeploy the bundles in a running karaf instance from maven (I don't
> think its related). Every time I redeploy the implementation bundle I'm
> seeing the error bellow.
> It works despite this error but it seems that bundle redeployment is not
> correctly handled. I've tried also with an explicit deployment of the API and
> Implementation bundle and I have the same problem in the implementation
> bundle upon redeployment
> Exception in thread "pool-33-thread-3" java.lang.NoClassDefFoundError:
> com/acme/platform/samples/modules/geoip/api/dto/ResolvedCountryDTO
> at java.lang.Class.getDeclaredMethods0(Native Method)
> at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
> at java.lang.Class.privateGetPublicMethods(Class.java:2902)
> at java.lang.Class.getMethods(Class.java:1615)
> at
> org.apache.cxf.jaxrs.model.AbstractResourceInfo.findContextSetterMethods(AbstractResourceInfo.java:250)
> at
> org.apache.cxf.jaxrs.model.AbstractResourceInfo.findContexts(AbstractResourceInfo.java:113)
> at
> org.apache.cxf.jaxrs.model.AbstractResourceInfo.<init>(AbstractResourceInfo.java:106)
> at
> org.apache.cxf.jaxrs.model.AbstractResourceInfo.<init>(AbstractResourceInfo.java:91)
> at
> org.apache.cxf.jaxrs.model.BeanResourceInfo.<init>(BeanResourceInfo.java:47)
> at
> org.apache.cxf.jaxrs.model.ClassResourceInfo.<init>(ClassResourceInfo.java:87)
> at
> org.apache.cxf.jaxrs.utils.ResourceUtils.createClassResourceInfo(ResourceUtils.java:285)
> at
> org.apache.cxf.jaxrs.utils.ResourceUtils.createClassResourceInfo(ResourceUtils.java:276)
> at
> org.apache.cxf.jaxrs.JAXRSServiceFactoryBean.createResourceInfo(JAXRSServiceFactoryBean.java:208)
> at
> org.apache.cxf.jaxrs.JAXRSServiceFactoryBean.setResourceClasses(JAXRSServiceFactoryBean.java:168)
> at
> org.apache.cxf.jaxrs.JAXRSServiceFactoryBean.setResourceClasses(JAXRSServiceFactoryBean.java:217)
> at
> org.apache.cxf.jaxrs.JAXRSServerFactoryBean.setServiceClass(JAXRSServerFactoryBean.java:292)
> at
> org.apache.cxf.dosgi.dsw.handlers.rest.RsProvider.createServerFactory(RsProvider.java:199)
> at
> org.apache.cxf.dosgi.dsw.handlers.rest.RsProvider.exportService(RsProvider.java:140)
> at
> org.apache.aries.rsa.core.RemoteServiceAdminCore.exportService(RemoteServiceAdminCore.java:208)
> at
> org.apache.aries.rsa.core.RemoteServiceAdminCore.exportService(RemoteServiceAdminCore.java:117)
> at
> org.apache.aries.rsa.core.RemoteServiceAdminInstance$1.run(RemoteServiceAdminInstance.java:57)
> at
> org.apache.aries.rsa.core.RemoteServiceAdminInstance$1.run(RemoteServiceAdminInstance.java:55)
> at java.security.AccessController.doPrivileged(Native Method)
> at
> org.apache.aries.rsa.core.RemoteServiceAdminInstance.exportService(RemoteServiceAdminInstance.java:55)
> at
> org.apache.aries.rsa.core.RemoteServiceAdminInstance.exportService(RemoteServiceAdminInstance.java:39)
> at
> org.apache.aries.rsa.topologymanager.exporter.TopologyManagerExport.exportServiceUsingRemoteServiceAdmin(TopologyManagerExport.java:155)
> at
> org.apache.aries.rsa.topologymanager.exporter.TopologyManagerExport.doExport(TopologyManagerExport.java:126)
> at
> org.apache.aries.rsa.topologymanager.exporter.TopologyManagerExport.access$000(TopologyManagerExport.java:54)
> at
> org.apache.aries.rsa.topologymanager.exporter.TopologyManagerExport$1.run(TopologyManagerExport.java:98)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:745)
> Caused by: java.lang.ClassNotFoundException: Unable to load class
> 'com.acme.platform.samples.modules.geoip.api.dto.ResolvedCountryDTO' because
> the bundle wiring for com.celfocus.platform.samples.modules.geoip-ri is no
> longer valid.
> at
> org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1539)
> at
> org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:79)
> at
> org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:2018)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
> ... 32 more
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)