As we transition to the new Hyland Community, some post links may be temporarily disrupted as we finalize redirects. We apologize for the inconvenience and are working to resolve this as quickly as possible. Details.
public class AddInitialCommentListener implements TaskListener { @Override public void notify( DelegateTask task ) { System.out.println( "UpdateInitialCommentListener fired!"); ProcessEngine engine = ProcessEngines.getDefaultProcessEngine(); TaskService taskService = engine.getTaskService(); System.out.println( "taskId is: " + task.getId()); taskService.addComment(task.getId(), null, "UserTask CREATED" ); System.out.println( "added comment for task: " + task.getId()); } }
<br>public class SimpleTaskListener511 implements TaskListener<br>{<br> <br> @Override<br> public void notify( DelegateTask task ) <br> {<br> System.out.println( "in SimpleTaskListener511" );<br> <br> TaskService taskService = task.getExecution().getEngineServices().getTaskService();<br> <br> taskService.addComment(task.getId(), null, "Initial comment added at create time" );<br> System.out.println( "added comment!" );<br> <br> }<br><br>}<br>
<br>INFO: Processing resource SimpleProcess511.simpleProcess.png<br>Made it here..<br>in SimpleTaskListener511<br>added comment!<br>Apr 22, 2013 12:51:33 PM org.activiti.engine.impl.interceptor.CommandContext close<br>SEVERE: Error while closing command context<br>org.activiti.engine.ActivitiException: Cannot find task with id 305<br> at org.activiti.engine.impl.cmd.NeedsActiveTaskCmd.execute(NeedsActiveTaskCmd.java:51)<br> at org.activiti.engine.impl.interceptor.CommandExecutorImpl.execute(CommandExecutorImpl.java:24)<br> at org.activiti.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:60)<br> at org.activiti.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:32)<br> at org.activiti.engine.impl.TaskServiceImpl.addComment(TaskServiceImpl.java:259)<br> at org.example.activiti.SimpleTaskListener511.notify(SimpleTaskListener511.java:17)<br> at org.activiti.engine.impl.delegate.TaskListenerInvocation.invoke(TaskListenerInvocation.java:34)<br> at org.activiti.engine.impl.delegate.DelegateInvocation.proceed(DelegateInvocation.java:37)<br> at org.activiti.engine.impl.delegate.DefaultDelegateInterceptor.handleInvocation(DefaultDelegateInterceptor.java:25)<br> at org.activiti.engine.impl.bpmn.helper.ClassDelegate.notify(ClassDelegate.java:92)<br> at org.activiti.engine.impl.delegate.TaskListenerInvocation.invoke(TaskListenerInvocation.java:34)<br> at org.activiti.engine.impl.delegate.DelegateInvocation.proceed(DelegateInvocation.java:37)<br> at org.activiti.engine.impl.delegate.DefaultDelegateInterceptor.handleInvocation(DefaultDelegateInterceptor.java:25)<br> at org.activiti.engine.impl.persistence.entity.TaskEntity.fireEvent(TaskEntity.java:525)<br> at org.activiti.engine.impl.bpmn.behavior.UserTaskActivityBehavior.execute(UserTaskActivityBehavior.java:94)<br> at org.activiti.engine.impl.pvm.runtime.AtomicOperationActivityExecute.execute(AtomicOperationActivityExecute.java:44)<br> at org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:85)<br> at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:535)<br> at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:530)<br> at org.activiti.engine.impl.pvm.runtime.AtomicOperationTransitionNotifyListenerStart.eventNotificationsCompleted(AtomicOperationTransitionNotifyListenerStart.java:52)<br> at org.activiti.engine.impl.pvm.runtime.AbstractEventAtomicOperation.execute(AbstractEventAtomicOperation.java:56)<br> at org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:85)<br> at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:535)<br> at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:530)<br> at org.activiti.engine.impl.pvm.runtime.AbstractEventAtomicOperation.execute(AbstractEventAtomicOperation.java:49)<br> at org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:85)<br> at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:535)<br> at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:530)<br> at org.activiti.engine.impl.pvm.runtime.AtomicOperationTransitionCreateScope.execute(AtomicOperationTransitionCreateScope.java:49)<br> at org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:85)<br> at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:535)<br> at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:530)<br> at org.activiti.engine.impl.pvm.runtime.AtomicOperationTransitionNotifyListenerTake.execute(AtomicOperationTransitionNotifyListenerTake.java:65)<br> at org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:85)<br> at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:535)<br> at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:530)<br> at org.activiti.engine.impl.pvm.runtime.AtomicOperationTransitionDestroyScope.execute(AtomicOperationTransitionDestroyScope.java:115)<br> at org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:85)<br> at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:535)<br> at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:530)<br> at org.activiti.engine.impl.pvm.runtime.AtomicOperationTransitionNotifyListenerEnd.eventNotificationsCompleted(AtomicOperationTransitionNotifyListenerEnd.java:36)<br> at org.activiti.engine.impl.pvm.runtime.AbstractEventAtomicOperation.execute(AbstractEventAtomicOperation.java:56)<br>…<br>
<br>public class SimpleTaskListener511 implements TaskListener<br>{<br> <br> @Override<br> public void notify( DelegateTask task ) <br> {<br> System.out.println( "in SimpleTaskListener511" );<br> <br> TaskService taskService = task.getExecution().getEngineServices().getTaskService();<br> <br> Thread thread = new Thread( new CommentAdder( task, taskService));<br> thread.start();<br> <br> }<br><br>}<br><br>class CommentAdder implements Runnable<br>{<br> DelegateTask task;<br> TaskService taskService;<br> <br> public CommentAdder( DelegateTask task, TaskService taskService )<br> {<br> this.task = task;<br> this.taskService = taskService;<br> }<br> <br> public void run()<br> {<br> try<br> {<br> Thread.sleep( 3000 );<br> }<br> catch( Exception e ) {}<br> <br> taskService.addComment(task.getId(), null, "Initial comment added at create time" );<br> System.out.println( "added comment!" );<br> <br> }<br>}<br><br>