-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hello again,
one interesting thing I noticed. The tutorial code is also in the original jar file. Like I show before, I excluded the tutorial code in the bnd file with "!rice.tutorial.*". Now, for experimenting a bit I decide to export them and to see what happens if I call this code and it works. No Exceptions. So why the same code fails in my bundle? Kind regards, Siamak Siamak Haschemi schrieb: > Hello Karl, > > do you you mean: > > Thread.currentThread().setContextClassLoader(getClass().getClassLoader()); > > That sadly doesn't help. I see the same exception like before. > > It put this lines in the start() method of the Activator of my bundle, > or do I have to create an activator for the 3rd library? > > Kind regards, > > Siamak > > > > Karl Pauls schrieb: >> Try setting the thread context classloader to the classloader of your bundle. > >> regards, > >> Karl > >> On Wed, Jun 4, 2008 at 12:06 PM, Siamak Haschemi >> <[EMAIL PROTECTED]> wrote: >> Hello to all, > >> I've tried to wrap the FreePastry framework >> (http://freepastry.rice.edu/FreePastry/FreePastry-2.1beta.jar) as an >> OSGi bundle an use it from another bundle. The code using FreePastry is >> from the tutorial on the website >> (http://freepastry.org/FreePastry/tutorial/tut_multiple_nodes.html#lesson4). >> I can also attach it, if it helps. > >> The bnd file for wrapping the jar looks as follows: > >> -------------- > >> Bundle-Version=2.1.0.beta >> Private-Package: * >> Export-Package: >> !rice.tutorial.*,rice.environment.*;version=2.1.0.beta,rice.p2p.commonapi.*;version=2.1.0.beta,rice.pastry.*;version=2.1.0.beta >> Import-Package: !org.junit.*,*;resolution:=optional > >> -------------- > >> The Manifest of my bundle (which uses the pastry bundle) looks like this: > >> -------------- > >> Manifest-Version: 1.0 >> Export-Package: de.hu_berlin.metrik.osgi.simulation.pastry;uses:="rice >> .environment,rice.pastry.leafset,rice.environment.params,rice.environ >> ment.time,rice.pastry,rice.pastry.socket,org.osgi.framework,rice.p2p. >> commonapi,rice.pastry.standard" >> Built-By: haschemi >> Tool: Bnd-0.0.238 >> Bundle-Name: de.hu_berlin.metrik.osgi.simulation.pastry >> Created-By: Apache Maven Bundle Plugin >> Bundle-Version: 0.0.1.SNAPSHOT >> Build-Jdk: 1.6.0_04 >> Bnd-LastModified: 1212516599543 >> Bundle-ManifestVersion: 2 >> Bundle-Activator: de.hu_berlin.metrik.osgi.simulation.pastry.Activator >> Import-Package: de.hu_berlin.metrik.osgi.simulation.pastry,org.osgi.fr >> amework;version="1.3",rice.environment,rice.environment.params,rice.e >> nvironment.time,rice.p2p.commonapi,rice.pastry,rice.pastry.leafset,ri >> ce.pastry.socket,rice.pastry.standard >> Bundle-SymbolicName: de.hu_berlin.metrik.osgi.simulation.pastry > >> ------------- > >> Then is start my bundle, it seems that the deserialization of a message >> fails because of a NoClassDefFoundError. The following error occures: > > >> :[EMAIL PROTECTED]:20080604.114300.740:ERROR (SelectorManager.run): >> java.lang.NoClassDefFoundError: rice/p2p/commonapi/Message >> at java.lang.ClassLoader.defineClass1(Native Method) >> at java.lang.ClassLoader.defineClass(ClassLoader.java:620) >> at >> java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124) >> at java.net.URLClassLoader.defineClass(URLClassLoader.java:260) >> at java.net.URLClassLoader.access$000(URLClassLoader.java:56) >> at java.net.URLClassLoader$1.run(URLClassLoader.java:195) >> at java.security.AccessController.doPrivileged(Native Method) >> at java.net.URLClassLoader.findClass(URLClassLoader.java:188) >> at java.lang.ClassLoader.loadClass(ClassLoader.java:306) >> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276) >> at java.lang.ClassLoader.loadClass(ClassLoader.java:251) >> at >> org.apache.felix.framework.searchpolicy.R4SearchPolicyCore.searchDynamicImports(R4SearchPolicyCore.java:597) >> at >> org.apache.felix.framework.searchpolicy.R4SearchPolicyCore.findClassOrResource(R4SearchPolicyCore.java:475) >> at >> org.apache.felix.framework.searchpolicy.R4SearchPolicyCore.findClass(R4SearchPolicyCore.java:186) >> at >> org.apache.felix.framework.searchpolicy.R4SearchPolicy.findClass(R4SearchPolicy.java:45) >> at >> org.apache.felix.framework.searchpolicy.ContentClassLoader.loadClass(ContentClassLoader.java:109) >> at java.lang.ClassLoader.loadClass(ClassLoader.java:251) >> at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319) >> at java.lang.Class.forName0(Native Method) >> at java.lang.Class.forName(Class.java:247) >> at java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:604) >> at >> java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1575) >> at >> java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496) >> at >> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732) >> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) >> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351) >> at >> rice.pastry.messaging.JavaSerializedDeserializer.deserialize(JavaSerializedDeserializer.java:81) >> at >> rice.pastry.commonapi.PastryEndpointMessage.<init>(PastryEndpointMessage.java:158) >> at >> rice.pastry.commonapi.PastryEndpoint$PEDeserializer.deserialize(PastryEndpoint.java:77) >> at rice.pastry.routing.RouteMessage.unwrap(RouteMessage.java:529) >> at >> rice.pastry.commonapi.PastryEndpoint.receiveMessage(PastryEndpoint.java:553) >> at >> rice.pastry.standard.StandardRouter.deliverToApplication(StandardRouter.java:504) >> at >> rice.pastry.standard.StandardRouter.receiveRouteMessage(StandardRouter.java:263) >> at rice.pastry.standard.StandardRouter.route(StandardRouter.java:163) >> at >> rice.pastry.standard.StandardRouter.receiveMessage(StandardRouter.java:150) >> at >> rice.pastry.messaging.MessageDispatch.dispatchMessage(MessageDispatch.java:146) >> at rice.pastry.PastryNode.receiveMessage(PastryNode.java:468) >> at rice.pastry.PastryNode.messageReceived(PastryNode.java:1076) >> at rice.pastry.PastryNode.messageReceived(PastryNode.java:92) >> at >> org.mpisws.p2p.transport.commonapi.CommonAPITransportLayerImpl.messageReceived(CommonAPITransportLayerImpl.java:232) >> at >> org.mpisws.p2p.transport.commonapi.CommonAPITransportLayerImpl.messageReceived(CommonAPITransportLayerImpl.java:65) >> at >> org.mpisws.p2p.transport.identity.IdentityImpl$UpperIdentityImpl.messageReceived(IdentityImpl.java:1080) >> at >> org.mpisws.p2p.transport.priority.PriorityTransportLayerImpl$EntityManager$BufferReader.done(PriorityTransportLayerImpl.java:1251) >> at >> org.mpisws.p2p.transport.priority.PriorityTransportLayerImpl$EntityManager$BufferReader.receiveSelectResult(PriorityTransportLayerImpl.java:1215) >> at >> org.mpisws.p2p.transport.util.SocketWrapperSocket.receiveSelectResult(SocketWrapperSocket.java:140) >> at >> org.mpisws.p2p.transport.util.SocketWrapperSocket.receiveSelectResult(SocketWrapperSocket.java:140) >> at >> org.mpisws.p2p.transport.liveness.LivenessTransportLayerImpl$LSocket.receiveSelectResult(LivenessTransportLayerImpl.java:1088) >> at >> org.mpisws.p2p.transport.util.SocketWrapperSocket.receiveSelectResult(SocketWrapperSocket.java:140) >> at >> org.mpisws.p2p.transport.util.SocketWrapperSocket.receiveSelectResult(SocketWrapperSocket.java:140) >> at >> org.mpisws.p2p.transport.util.SocketWrapperSocket.receiveSelectResult(SocketWrapperSocket.java:140) >> at >> org.mpisws.p2p.transport.wire.SocketManager.read(SocketManager.java:322) >> at >> rice.selector.SelectorManager.doSelections(SelectorManager.java:394) >> at rice.selector.SelectorManager.run(SelectorManager.java:255) >> Caused by: java.lang.ClassNotFoundException: rice.p2p.commonapi.Message >> at java.net.URLClassLoader$1.run(URLClassLoader.java:200) >> at java.security.AccessController.doPrivileged(Native Method) >> at java.net.URLClassLoader.findClass(URLClassLoader.java:188) >> at java.lang.ClassLoader.loadClass(ClassLoader.java:306) >> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276) >> at java.lang.ClassLoader.loadClass(ClassLoader.java:251) >> at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319) >> ... 53 more >> :rice.environment.exception.simple:20080604.114300.755:handleException(Thread[Selector >> Thread -- Default,5,main]) java.lang.NoClassDefFoundError: >> rice/p2p/commonapi/Message >> at java.lang.ClassLoader.defineClass1(Native Method) >> at java.lang.ClassLoader.defineClass(ClassLoader.java:620) >> at >> java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124) >> at java.net.URLClassLoader.defineClass(URLClassLoader.java:260) >> at java.net.URLClassLoader.access$000(URLClassLoader.java:56) >> at java.net.URLClassLoader$1.run(URLClassLoader.java:195) >> at java.security.AccessController.doPrivileged(Native Method) >> at java.net.URLClassLoader.findClass(URLClassLoader.java:188) >> at java.lang.ClassLoader.loadClass(ClassLoader.java:306) >> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276) >> at java.lang.ClassLoader.loadClass(ClassLoader.java:251) >> at >> org.apache.felix.framework.searchpolicy.R4SearchPolicyCore.searchDynamicImports(R4SearchPolicyCore.java:597) >> at >> org.apache.felix.framework.searchpolicy.R4SearchPolicyCore.findClassOrResource(R4SearchPolicyCore.java:475) >> at >> org.apache.felix.framework.searchpolicy.R4SearchPolicyCore.findClass(R4SearchPolicyCore.java:186) >> at >> org.apache.felix.framework.searchpolicy.R4SearchPolicy.findClass(R4SearchPolicy.java:45) >> at >> org.apache.felix.framework.searchpolicy.ContentClassLoader.loadClass(ContentClassLoader.java:109) >> at java.lang.ClassLoader.loadClass(ClassLoader.java:251) >> at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319) >> at java.lang.Class.forName0(Native Method) >> at java.lang.Class.forName(Class.java:247) >> at java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:604) >> at >> java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1575) >> at >> java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496) >> at >> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732) >> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) >> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351) >> at >> rice.pastry.messaging.JavaSerializedDeserializer.deserialize(JavaSerializedDeserializer.java:81) >> at >> rice.pastry.commonapi.PastryEndpointMessage.<init>(PastryEndpointMessage.java:158) >> at >> rice.pastry.commonapi.PastryEndpoint$PEDeserializer.deserialize(PastryEndpoint.java:77) >> at rice.pastry.routing.RouteMessage.unwrap(RouteMessage.java:529) >> at >> rice.pastry.commonapi.PastryEndpoint.receiveMessage(PastryEndpoint.java:553) >> at >> rice.pastry.standard.StandardRouter.deliverToApplication(StandardRouter.java:504) >> at >> rice.pastry.standard.StandardRouter.receiveRouteMessage(StandardRouter.java:263) >> at rice.pastry.standard.StandardRouter.route(StandardRouter.java:163) >> at >> rice.pastry.standard.StandardRouter.receiveMessage(StandardRouter.java:150) >> at >> rice.pastry.messaging.MessageDispatch.dispatchMessage(MessageDispatch.java:146) >> at rice.pastry.PastryNode.receiveMessage(PastryNode.java:468) >> at rice.pastry.PastryNode.messageReceived(PastryNode.java:1076) >> at rice.pastry.PastryNode.messageReceived(PastryNode.java:92) >> at >> org.mpisws.p2p.transport.commonapi.CommonAPITransportLayerImpl.messageReceived(CommonAPITransportLayerImpl.java:232) >> at >> org.mpisws.p2p.transport.commonapi.CommonAPITransportLayerImpl.messageReceived(CommonAPITransportLayerImpl.java:65) >> at >> org.mpisws.p2p.transport.identity.IdentityImpl$UpperIdentityImpl.messageReceived(IdentityImpl.java:1080) >> at >> org.mpisws.p2p.transport.priority.PriorityTransportLayerImpl$EntityManager$BufferReader.done(PriorityTransportLayerImpl.java:1251) >> at >> org.mpisws.p2p.transport.priority.PriorityTransportLayerImpl$EntityManager$BufferReader.receiveSelectResult(PriorityTransportLayerImpl.java:1215) >> at >> org.mpisws.p2p.transport.util.SocketWrapperSocket.receiveSelectResult(SocketWrapperSocket.java:140) >> at >> org.mpisws.p2p.transport.util.SocketWrapperSocket.receiveSelectResult(SocketWrapperSocket.java:140) >> at >> org.mpisws.p2p.transport.liveness.LivenessTransportLayerImpl$LSocket.receiveSelectResult(LivenessTransportLayerImpl.java:1088) >> at >> org.mpisws.p2p.transport.util.SocketWrapperSocket.receiveSelectResult(SocketWrapperSocket.java:140) >> at >> org.mpisws.p2p.transport.util.SocketWrapperSocket.receiveSelectResult(SocketWrapperSocket.java:140) >> at >> org.mpisws.p2p.transport.util.SocketWrapperSocket.receiveSelectResult(SocketWrapperSocket.java:140) >> at >> org.mpisws.p2p.transport.wire.SocketManager.read(SocketManager.java:322) >> at >> rice.selector.SelectorManager.doSelections(SelectorManager.java:394) >> at rice.selector.SelectorManager.run(SelectorManager.java:255) >> Caused by: java.lang.ClassNotFoundException: rice.p2p.commonapi.Message >> at java.net.URLClassLoader$1.run(URLClassLoader.java:200) >> at java.security.AccessController.doPrivileged(Native Method) >> at java.net.URLClassLoader.findClass(URLClassLoader.java:188) >> at java.lang.ClassLoader.loadClass(ClassLoader.java:306) >> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276) >> at java.lang.ClassLoader.loadClass(ClassLoader.java:251) >> at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319) >> ... 53 more > >> Can someone give me a hint to where to start to find the problem? > > >> Kind regards, > >> Siamak >>> > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > - ------------------------------------------------------------------------ - --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.8 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iEYEARECAAYFAkhGcM8ACgkQBLvtewtTERMMEACfRHPgUXRA0dSoG7ZimwXEJ//y Hr0An0pRshKazAe+0Bfws6G1PI9CFjSJ =4nmE -----END PGP SIGNATURE-----
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]

