Problem:
I've got "Assign Multiple Tasks" service in process with 2 participants User1, User2.
ES3: After completion task by User1, second task is deadlined and TaskDeadlined event is sent.
ES4:After completion task by User1, second task is deadlined but NO TaskDeadlined event is sent.
I spent all day by looking for bug in my code and in the end i surprisingly found that things has been changed on livecycle side.
Specifically TaskManagerServiceImpl version 11 has been changed. When classOftask is Multi, Deadlined event is not send as shown below[1].
A. It's the same with Terminated Event.
B. It's the same when you deadline or terminate task by hand etc. with java api.
I think it is bug[2], Task has status deadlined or terminated but no event is sent but with Standard task everything work like charm.
If it's not bug maybe it is worthy to mention this behaviour in documentation or somewhere.
Adobe, Is there any reason, why things has been changed?
1.
<pre>
String classOfTask = ((DefaultCompleteTaskResult)_result).getClassOfTask();
TaskEventHolder _eventData;
if ((classOfTask != null) && (!classOfTask.startsWith("Multi")))
{
_eventData = new TaskEventHolder();
_eventData.setTaskId(aTaskId.longValue());
_eventData.setActionId(_result.getActionId());
_eventData.setJobId(_result.getInvocationId());
_eventData.setQueueId(Long.valueOf(_result.getQueueId()));
_eventData.setAssignedUser(_result.getCompleteUserId());
_eventData.setProcessName(((DefaultCompleteTaskResult)_result).getProcessName());
_eventData.setProcessInstanceId(Long.valueOf(((DefaultCompleteTaskResult)_result).getProcessId()));
_eventData.setStepName(((DefaultCompleteTaskResult)_result).getStepName());
_eventData.setClassOfTask(classOfTask);
_eventData.setSelectedRoute(deadlineAction);
_eventData.setEventTypeId((short)8);
sendTaskEvent(_eventData);
}
</pre>
2.
TaskManager (Adobe LiveCycle ES4 API Reference)
Completes a task with a deadline event.
TaskManager (Adobe LiveCycle ES4 API Reference)
Completes a task with a terminate event.