AnsweredAssumed Answered

Cannot Interact with Processes after redeployment

Question asked by billdoor on Apr 4, 2016
Latest reply on Apr 7, 2016 by billdoor

i am currently working on a new process, which means i tend to redeploy the Application to our Applicationserver quite often.

my process basically is:

| START_EVT | –> | SERVICE_TASK: prefill some data | —> | USER_TASK: Enter more data | —> | WORK | —> | END_EVT |

In addition there is a Boundary message event attached to the USER_TASK, waiting got the message "msg_cancel", which leads the execution to an alternative Workflow (cleanup database + end_evt)

This works fine:
I deploy the application.

ProcessInstance instance = engine.getRuntimeService().startProcessinstanceByKey("myprocess", "A1");
//engine.getRuntimeService().createExecutionQuery().processInstanceId(instance.getId()).list().length == 1 //(perfect)
Execution execution = engine.getRuntimeService().createExecutionQuery().processInstanceId(instance.getId()).messageEventSubscriptionName("msg_cancel");
Map<String,Object> params = new HashMap<>();
engine.getRuntimeService().messageEventReceived("msg_cancel", execution.getId(), params);


//engine.getRuntimeService().createExecutionQuery().processInstanceId(instance.getId()).list().length == 0// (perfect)

This however stops working once i do the following steps:
1) I start some processes

ProcessInstance instance = engine.getRuntimeService().startProcessinstanceByKey("myprocess", "A1");
ProcessInstance instance = engine.getRuntimeService().startProcessinstanceByKey("myprocess", "A2");

2) i change some code, not the bpmn mind you.
3) i deploy the application

NOW i can access Processvariables via the taskservice (i can load form-data from usertask), but i cannot commence any actions that would continue execution.
If i query for messageEventSubscriptions on "msg_cancel" i do not get the two Processes (A1, A2) listed anymore.

I assume this has to do with the redeployment and ProcessDefinition revisions?
Is this meant to be this way?