Anonymous | Login | Signup for a new account | 12-17-2024 10:41 PST |
Main | My View | View Issues | Change Log | Docs |
Viewing Issue Simple Details [ Jump to Notes ] | [ View Advanced ] [ Issue History ] [ Print ] | ||||||||
ID | Category | Severity | Reproducibility | Date Submitted | Last Update | ||||
0000306 | [Resin] | minor | always | 07-12-05 00:00 | 11-30-05 14:43 | ||||
Reporter | ferg | View Status | public | ||||||
Assigned To | |||||||||
Priority | urgent | Resolution | fixed | ||||||
Status | closed | Product Version | 3.0.14 | ||||||
Summary | 0000306: JMS deserialization classloader issues | ||||||||
Description |
RSN-345 (rep by Gunther Wieser) we are encountering a problem with resin 3.0.12 and 3.0.14 (we haven't tested any other version). we use the JMS implementation that comes with resin, and this has been working for the last weeks perfectly. now we changed the definition of a message, and with these changes we introduced a new property of the bean called "Pharmacy". the class "Pharmacy" again holds several properties, all of course either marked transient or inplementing serializable. at the point where we encounter the problem, the "Pharmacy" object had already been serialized for several times, so we can be pretty sure that serialization itself works perfectly with this class. the serialization happened in a workflow enige we use, just to make clear that these steps BEFORE the problem have nothing to do with using JMS. but when we send the message, we get the following error: java.lang.ClassNotFoundException: de.storm.uniteddesign.model.pharmacy.Address at java.net.URLClassLoader$1.run(URLClassLoader.java:199) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:187) at java.lang.ClassLoader.loadClass(ClassLoader.java:289) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274) at java.lang.ClassLoader.loadClass(ClassLoader.java:235) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:219) at java.io.ObjectInputStream.resolveProxyClass(ObjectInputStream.java:630) at java.io.ObjectInputStream.readProxyDesc(ObjectInputStream.java:1469) at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1432) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1626) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1845) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1769) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1845) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1769) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1845) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1769) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1845) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1769) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:324) at com.caucho.jms.message.ObjectMessageImpl.getObject(ObjectMessageImpl.java:85) at com.caucho.jms.jdbc.JdbcMessage.writeObject(JdbcMessage.java:629) at com.caucho.jms.jdbc.JdbcMessage.send(JdbcMessage.java:230) at com.caucho.jms.jdbc.JdbcQueue.send(JdbcQueue.java:161) at com.caucho.jms.session.SessionImpl.send(SessionImpl.java:752) at com.caucho.jms.session.MessageProducerImpl.send(MessageProducerImpl.java:161) |
||||||||
Additional Information | |||||||||
Attached Files | |||||||||
|
Notes | |
(0000345) ferg 07-12-05 00:00 |
It looks like the serialized object uses Proxy classes which require a separate overload in ContextLoaderObjectInputStream. |
Issue History | |||
Date Modified | Username | Field | Change |
07-12-05 00:00 | ferg | New Issue | |
11-30-05 00:00 | administrator | Fixed in Version | => 3.0.15 |
11-30-05 14:43 | ferg | Status | resolved => closed |
Mantis 1.0.0rc3[^]
Copyright © 2000 - 2005 Mantis Group
28 total queries executed. 26 unique queries executed. |