cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ivo Leitão (JIRA) <j...@apache.org>
Subject [jira] [Updated] (DOSGI-259) java.lang.NoClassDefFoundError when updating Implementation bundle
Date Sat, 11 Mar 2017 09:13:04 GMT

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

Mime
View raw message