cancel
Showing results for 
Search instead for 
Did you mean: 

ExecutionQuery and ProcessInstanceQuery doesnt return result

yatish
Champ in-the-making
Champ in-the-making
Hi,

Here is my simple workflow,

start —> A —> B —-> C —-> end

Case1:
A,B,C are ServiceTasks with JavaDelegate(ADelegate, BDelegate, CDelegate). Each delegate have 2 second sleep( Thread.sleep(2000) ) call to keep the workflow runnig for 6 seconds. From my JUnit program, i create a thread, which i instantiate this workflow with business key("myKey1"). After this, from my JUnit, I do query for process instance for "myKey1" using runtmieService.createExecutionQuery as well as runtmieService.createProcessInstanceQuery. but both of them returns me null process instance list. At the time, i execute these queries, my javaDelegate print statement tells me that i am at either task A or at task B. So, My workflow is still alive. Even If i query using actual processInstanceId instead businessKey, It does not return me any result. I do have singleton runtimeService and ProcessEngine.

Case2:
If I add receive task after A, B and C and if i execute same queries when waiting after A, it gives me correct results.

I am wondering, why it would not return me any result in Case1? I am not sure if I am doing something that is not inclined with Activiti threading fundamentals.

Thanks,
Yatish
1 REPLY 1

frederikherema1
Star Contributor
Star Contributor
As long as the process is actually 'flowing', the process-instance and all related models aren't comitted to the database. This only happens when a wait-state is reached. This is the way activiti works (exception will cause rollback to last known state)…
Getting started

Tags


Find what you came for

We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.