-
Bug
-
Resolution: Done
-
Major
-
jBPM 4.2
-
None
I am trying to use jBPM outside a servlet container and when storing a variable in the execution context, retrieving it I have:
Caught: java.lang.ClassNotFoundException: Blah
This is the same bug as described in:
http://jira.codehaus.org/browse/GROOVY-1627 . I think this is the following issue as well: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4340158 .
Java uses the last defined ClassLoader to loader the class. In many environments this might mean that the wrong class loader is chosen or that it works one day and the other day not.
The following code fixes the problem (in org.jbpm.pvm.internal.type.converter.SerializableToBytesConverter line 71 in the revert method:
ObjectInputStream ois = new ObjectInputStream(bais) { protected Class resolveClass(ObjectStreamClass objectStreamClass) throws IOException, ClassNotFoundException { return Class.forName(objectStreamClass.getName(), true, Thread.currentThread().getContextClassLoader()); } };