[
https://issues.apache.org/jira/browse/ODE-237?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Alex Boisvert resolved ODE-237.
-------------------------------
Resolution: Fixed
Fix Version/s: 1.2
Fixed in 1.1 branch,
Sending utils/src/main/java/org/apache/ode/utils/SerializableUtils.java
Transmitting file data .
Committed revision 616857.
Fixed in -trunk
Sending utils/src/main/java/org/apache/ode/utils/SerializableUtils.java
Transmitting file data .
Committed revision 616859.
Index: src/main/java/org/apache/ode/utils/SerializableUtils.java
===================================================================
--- src/main/java/org/apache/ode/utils/SerializableUtils.java (revision
616853)
+++ src/main/java/org/apache/ode/utils/SerializableUtils.java (working copy)
@@ -81,11 +81,13 @@
try {
ObjectInputStream ois = new ObjectInputStream(binaryStream) {
- protected Class<?> resolveClass(ObjectStreamClass desc) throws
IOException,
- ClassNotFoundException {
+ protected Class<?> resolveClass(ObjectStreamClass desc) throws
IOException, ClassNotFoundException {
String name = desc.getName();
- Class c = cl.loadClass(name);
- return c;
+ try {
+ return Class.forName(name, true, cl);
+ } catch (ClassNotFoundException ex) {
+ return super.resolveClass(desc);
+ }
}
};
return ois.readObject();
> ClassNotFoundException while deserializing HBpelEvent in Geronimo
> MultiParentClassLoader
> ----------------------------------------------------------------------------------------
>
> Key: ODE-237
> URL: https://issues.apache.org/jira/browse/ODE-237
> Project: ODE
> Issue Type: Bug
> Components: Management
> Affects Versions: 1.1, 1.1.1
> Reporter: Alex Boisvert
> Assignee: Alex Boisvert
> Priority: Minor
> Fix For: 1.2
>
>
> Running Ode inside Geronimo 2.0.1 and JDK 1.6 leads to the following
> exception while querying for process events,
> 09:41:58,539 FATAL [org.apache.ode.daohib.bpel.BpelDAOConnectionImpl] [RMI
> TCP Connection(9)-192.168.0.102] Internal error: unable to transform
> HBpelEvent
> java.lang.RuntimeException: java.lang.ClassNotFoundException:
> [Ljava.lang.Object; in classloader org.apache.ode/ode/1.1.1/war
> at org.apache.ode.utils.SerializableUtils.toObject(SerializableUtils.java:94)
> at org.apache.ode.utils.SerializableUtils.toObject(SerializableUtils.java:100)
> at
> org.apache.ode.daohib.bpel.BpelDAOConnectionImpl$1.apply(BpelDAOConnectionImpl.java:217)
> at
> org.apache.ode.daohib.bpel.BpelDAOConnectionImpl$1.apply(BpelDAOConnectionImpl.java:216)
> at org.apache.ode.utils.stl.CollectionsX.transformEx(CollectionsX.java:178)
> at
> org.apache.ode.daohib.bpel.BpelDAOConnectionImpl.bpelEventQuery(BpelDAOConnectionImpl.java:215)
> at
> org.apache.ode.bpel.engine.ProcessAndInstanceManagementImpl$7.run(ProcessAndInstanceManagementImpl.java:469)
> at org.apache.ode.bpel.engine.BpelDatabase$1.call(BpelDatabase.java:76)
> at
> org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:179)
> at org.apache.ode.bpel.engine.BpelDatabase.exec(BpelDatabase.java:74)
> at
> org.apache.ode.bpel.engine.ProcessAndInstanceManagementImpl.dbexec(ProcessAndInstanceManagementImpl.java:585)
> at
> org.apache.ode.bpel.engine.ProcessAndInstanceManagementImpl.listEvents(ProcessAndInstanceManagementImpl.java:467)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at
> org.apache.ode.jca.server.rmi.RmiPipeServerImpl.invokeConnectionMethod(RmiPipeServerImpl.java:89)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:305)
> at sun.rmi.transport.Transport$1.run(Transport.java:159)
> at java.security.AccessController.doPrivileged(Native Method)
> at sun.rmi.transport.Transport.serviceCall(Transport.java:155)
> at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
> at
> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
> at
> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
> at java.lang.Thread.run(Thread.java:619)
> Caused by: java.lang.ClassNotFoundException: [Ljava.lang.Object; in
> classloader org.apache.ode/ode/1.1.1/war
> at
> org.apache.geronimo.kernel.config.MultiParentClassLoader.loadOptimizedClass(MultiParentClassLoader.java:428)
> at
> org.apache.geronimo.kernel.config.MultiParentClassLoader.loadClass(MultiParentClassLoader.java:278)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
> at
> org.apache.ode.utils.SerializableUtils$1.resolveClass(SerializableUtils.java:87)
> at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1575)
> at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
> at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1624)
> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1323)
> at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
> at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
> at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
> at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
> at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
> at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
> at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
> at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
> at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
> at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
> at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
> at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
> at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
> at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:480)
> at org.apache.xerces.dom.ParentNode.readObject(Unknown Source)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974)
> at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1849)
> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
> at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
> at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:480)
> at org.apache.xerces.dom.ParentNode.readObject(Unknown Source)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974)
> at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1849)
> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
> at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
> at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:480)
> at org.apache.xerces.dom.ParentNode.readObject(Unknown Source)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974)
> at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1849)
> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
> at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
> at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
> at org.apache.ode.utils.SerializableUtils.toObject(SerializableUtils.java:91)
> ... 30 more
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.