-
15. Re: Process Variables made by Java cannot be deserialized
rebody Apr 26, 2010 4:24 AM (in response to swiderski.maciej)Hi Maciej,
I create a TestCase to reproduce the scenario and it failed. I think about it and guess maybe we are talking about differences scenario. If our scenario is difference as I think, I will reopen my issue. Could you have a look at my testCase? it is in the attach.
-
jbpm4sample.zip 10.5 KB
-
-
16. Re: Process Variables made by Java cannot be deserialized
aguizar Apr 26, 2010 12:15 PM (in response to swiderski.maciej)I scheduled JBPM-2703 for release 4.4 and am following this discussion with interest. Maciej, did you write a test case of your own to check the patch? Huisheng, perhaps you did not apply the patch? jBPM 3.2 also had this problem and I resolved it in much the same way as Maciej does in his patch - by involving the context class loader in resolving classes. I'd be surprised if, after applying the patch, the problem persisted.
-
17. Re: Process Variables made by Java cannot be deserialized
swiderski.maciej Apr 26, 2010 12:27 PM (in response to aguizar)Hi guys,
I just noticed that I did not attach my test case. But before I do it I will try Huisheng's test case to verify if that is all sorted out.
Nice to hear that it is scheduled for 4.4.
Keep you posted.
Cheers,
Maciej
-
18. Re: Process Variables made by Java cannot be deserialized
swiderski.maciej Apr 26, 2010 2:08 PM (in response to aguizar)Hi,
Huisheng is right, current patch does not solve the issue completely. Thanks to his test case I was able to reproduce it. Somehow context class loader is not enough.
I tried to reuse DeploymentClassLoader capabilities to solve the issue and it seems to work fine. In fact that was my first way of fixing it but I changed it to using only context class loader according to jira issue comments.
So I have a nice patch to upload but I have issues regarding source code structure:
- test case with process definition is placed in jbpm-test-db module
- since test case must deploy process definition with a class that is not available on class path it needs to be somewhere else as compiled resource I have put it at the moment into new folder (ext-resources) inside module jbpm-test-db
Please let me know if that is the right way to do it.
Cheers,
Maciej
-
19. Re: Process Variables made by Java cannot be deserialized
pkk4jbpm Jul 6, 2010 3:45 AM (in response to swiderski.maciej)HI Maciej,
How do I apply the patch for this issue to my jbpm 4.3 installation.
Please suggest the steps.
Thanks,
Puneet
-
20. Re: Process Variables made by Java cannot be deserialized
pkk4jbpm Jul 6, 2010 3:52 AM (in response to swiderski.maciej)I am facing the same problem of deserialization of user objects.But when I copy the user jar file in userlib folder under jbpm within server I get Class cast exception.. like
java.lang.ClassCastException: com.jbpm.java.sample.StudentType cannot be cast to com.jbpm.java.sample.StudentType
which I feel is again due to conflict in class loading. How can I get over this issue.
Puneet
-
21. Re: Process Variables made by Java cannot be deserialized
swiderski.maciej Jul 6, 2010 12:37 PM (in response to pkk4jbpm)Why not switch to 4.4 version, it's going to be out within days.
If you don't want to do it then you shall do as follows:
- grab 4.3 version from svn
- build it to make sure it works (for details go to http://community.jboss.org/wiki/jbpm4buildingfromsource)
- apply patch (jbpm-2703-extended.patch) from jira issue https://jira.jboss.org/browse/JBPM-2703
- build it once again as distro
That's it.