I am updating the process variable like below inside an activity (CMMN).
VariableMap variableMap = Variables.fromMap(JsonUtils.convertToMap(caseData));
processEngine.getCaseService().setVariables(caseCMMNInstanceId, variableMap);
and when I try to retrieve the same in the parent process (BPMN) like below. The updated values are not reflected back to the parent. Is that expected?
I was expecting the process variable visiblity as global seems like which is not the case. Am I correct?
Map<String, Object> variables = processEngine.getRuntimeService()
.getVariables(processBPMNInstanceId);
How are the both models linked? Are you sure they are running in the same instance and not in different ones, thus not being able to accept each others variables?
@sdibernardo They care linked with “CallActivity Type”: “CMMN” like attached in the image
And do you know, what id link process and activity? (except businessKey)
As of now, I am updating the process variables in both parent process and activity to keep the data in sync
by getting the processId like below.
ProcessInstance processInstance = processEngine.getRuntimeService()
.createProcessInstanceQuery()
.processInstanceBusinessKey(task.getCaseExecution().getBusinessKey())
.singleResult();