How to complete a user task, from a system task which is triggered from a timer event ?

cancel
Showing results for 
Search instead for 
Did you mean: 
dagraw2
Member II

How to complete a user task, from a system task which is triggered from a timer event ?

Hi All,

I am new to Activiti and trying to build a process, below is the problem i am facing.

My Intent :

1. I have 2 parallel user task(A,B). One user task(B) has a boundary timer event and calls one system task(C).

2. The system task (C) , based on some business logic figures out if the User task is done is some other unlinked system.

3. If the User task has been done in some other system, The system task (C) uses taskService.complete(TaskId) to complete the user task.

Problem : As mentioned in the 3rd point, System task (C) is not able to complete the user task (A/B) ?

What can be done about the same.

Boundary Event : 

<boundaryEvent id="boundarytimer1" name="Timer" attachedToRef="uploadInventory" cancelActivity="false">

      <timerEventDefinition>

        <timeCycle>0 0/1 * * * ?</timeCycle>

      </timerEventDefinition>

    </boundaryEvent>

Thanks,

Dewesh

1 Reply
gdharley
Intermediate

Re: How to complete a user task, from a system task which is triggered from a timer event ?

Dewesh,

Perhaps I am missing some of the intricacies of your problem, but the typical way to handle this sort of problem is to follow the service task with an intermediate signal throw event.

As the same time, have a signal boundary event associated with the user task that receives the signal and cancels the user task.

If you prefer to do this inside the service delegate, the taskService.Complete() call should work just fine.

What problem are you having with taskService.complete()?

Cheers,

Greg