Affects Version/s: 7.0.X, Master
When we export a serialized bean by a module and we create a new workflow that use this bean in more than one states, we realize that we are losing some ServiceContext information and we can not access to this bean.
Steps to reproduce in master/70x:
- Start a master/70x platform.
- Deploy 'chem.bean.7010-1.0.0.jar', this module export a bean (source chem-bean-7010.zip is attached too).
- Create new workflow using 'custom-single-approver-bean-definition.xml' by "Control Panel" > Configuration > "Workflow"
- Create new "Dinamic Data List" in "Site Menu" > Content > "Dynamic Data Lists" using workflow created in step 3 and with any 'Data Definition' (e.g. Contacts).
- After created this DDL, create a new registry of this DDL.
- Go to "User Menu" > "My Account" > Notifications, open Dynamic Data Lists Notification and do next actions:
- "Assign to Me" + "Done" in comment.
- "Approve" + "Done" in comment.
Traces should be shown with information about 'chemBean' used (Those traces are 'println' in the 'approve' action inside the 'approved' state).
Log does not show workflow script prints on action 'Approve' because workflow procces can not find 'chemBean' classloader.
Looking deeply, the problem is on account of the jabsorb library that does not know the classloader of the custom bean when unmarshall the JSON object.