Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 6.0.6 GA, 6.0.12 EE, 6.1.0 CE RC1, 6.1.1 CE GA2, 6.1.20 EE GA2
-
Fix Version/s: 6.0.X EE, 6.1.X EE, 6.2.0 CE M3
-
Component/s: Infrastructure, Integrations > Workflow > Kaleo Engine
-
Environment:Tomcat 6.0.32 + MySQL 5.1.58. 6.0.x Revision 87920.
Tomcat 6.0.32 + MySQL 5.1.58. 6.1.x Revision 87920.
-
Branch Version/s:6.1.x, 6.0.x
-
Backported to Branch:Committed
-
Epic/Theme:
-
Fix Priority:4
-
Similar Issues:
Description
When changing the workflow context of a workflow instance by calling WorkflowInstanceManagerUtil.updateWorkflowContext() (forwarding to Kaleo implementation of WorkflowInstanceManager), the workflow context is changed in the workflow instance returned by the method, but the change is not committed to the database.
KaleoInstanceLocalServiceImpl.updateKaleoInstance() should call KaleoInstancePersistence.update() after changing the workflow context.
Untested correction is the following (note kaleoInstancePersistence.update()):
KaleoInstanceLocalServiceImpl.java
public KaleoInstance updateKaleoInstance( long kaleoInstanceId, Map<String, Serializable> workflowContext, ServiceContext serviceContext) throws PortalException, SystemException { KaleoInstance kaleoInstance = kaleoInstancePersistence.findByPrimaryKey( kaleoInstanceId); kaleoInstance.setWorkflowContext( WorkflowContextUtil.convert(workflowContext)); kaleoInstancePersistence.update(kaleoInstance, false); return kaleoInstance; }
The JBPM implementation correctly calls jbpmContext.save(token) in WorkflowInstanceManagerImpl.updateWorkflowContext().

Patch against trunk revision 87119 fixing issue.