<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Trigger Activiti workflow for task sitting in ReceiveTask causes a loop in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/trigger-activiti-workflow-for-task-sitting-in-receivetask-causes/m-p/295693#M248823</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I have an Activiti workflow that contains a ReceiveTask where I'm grouping tasks. I have a Listener that triggers on the event start of the ReceiveTask where I check the property of the newly added task to see if others with the same properties are in the same state. If yes, then I want to trigger them all to move to the next step in the workflow&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;receiveTask id="IssuePost" name="Issue Post"&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;extensionElements&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;activiti:executionListener event="start" delegateExpression="${IssuePost}"&amp;gt;&amp;lt;/activiti:executionListener&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/extensionElements&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/receiveTask&amp;gt;&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;My Java Listener class IssuePost gets called when the task moves to the ReceiveTask just fine. I can get the list of other tasks sitting in that ReceiveTask. I'm having a problem triggering the tasks to move to the next step in the workflow. I get caught in a loop when calling "signal" on the tasks. The IssuePost listener keeps on getting triggered in an infinite loop until Alfresco/Activiti gives up and throws an exception.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; List&amp;lt;NodeRef&amp;gt; siblingNodes = searchService.selectNodes( parent, xpath, null, namespacePrefixResolver, false );&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if( siblingNodes.size() == batchCount )&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for( int i=0; i &amp;lt; siblingNodes.size(); i++ )&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; List&amp;lt;WorkflowInstance&amp;gt; workflows = workflowService.getWorkflowsForContent( siblingNodes.get( i ), true );&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // this line causes the loop.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; workflowService.signal( workflows.get(0).getId(), null );&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;How can I signal the tasks in the ReceiveTask to move to the next step in the workflow without triggering the same listener in an infinite loop? There's only one flow out of the ReceiveTask to the next step in the workflow.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Should I signal the workflow in a different way?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I want to use a ReceiveTask since it holds the workflow tasks until I signal them to move on. Other tasks won't do that.&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 02 Apr 2013 19:16:14 GMT</pubDate>
    <dc:creator>ungawunga</dc:creator>
    <dc:date>2013-04-02T19:16:14Z</dc:date>
    <item>
      <title>Trigger Activiti workflow for task sitting in ReceiveTask causes a loop</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/trigger-activiti-workflow-for-task-sitting-in-receivetask-causes/m-p/295693#M248823</link>
      <description>I have an Activiti workflow that contains a ReceiveTask where I'm grouping tasks. I have a Listener that triggers on the event start of the ReceiveTask where I check the property of the newly added task to see if others with the same properties are in the same state. If yes, then I want to trigger t</description>
      <pubDate>Tue, 02 Apr 2013 19:16:14 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/trigger-activiti-workflow-for-task-sitting-in-receivetask-causes/m-p/295693#M248823</guid>
      <dc:creator>ungawunga</dc:creator>
      <dc:date>2013-04-02T19:16:14Z</dc:date>
    </item>
    <item>
      <title>Re: Trigger Activiti workflow for task sitting in ReceiveTask causes a loop</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/trigger-activiti-workflow-for-task-sitting-in-receivetask-causes/m-p/295694#M248824</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Let me ask the question in a different way: What is the correct process to follow to signal a task to continue in the workflow in a listener when the task in question is the one that triggered the listener?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I made some changes to the above code by hunting through the source code and randomly trying things. Calling "signal" on the WorkflowPath associated with the NodeRef's WorkflowInstance instead of the WorkflowInstance itself seems to have changed the infinite loop behavior, but my listener is still be called multiple times.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;for( NodeRef siblingNode : siblingNodes )&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; List&amp;lt;WorkflowInstance&amp;gt; workflows = workflowService.getWorkflowsForContent( siblingNode, true );&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; List&amp;lt;WorkflowPath&amp;gt; paths = workflowService.getWorkflowPaths( workflows.get(0).getId() );&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for( WorkflowPath path : paths )&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; workflowService.signal( path.getId(), null );&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;}&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;This lead to a different exception the second time the listener was called :&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;JavaException: org.activiti.engine.ActivitiOptimisticLockingException: ExecutionEntity[7925] was updated by another transaction concurrently&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;This makes sense, as the first time the listener is called, the task moves on through the workflow and is deleted before the listener is called a second time. But I still need to resolve why the listener is being called multiple times.&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 03 Apr 2013 13:40:33 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/trigger-activiti-workflow-for-task-sitting-in-receivetask-causes/m-p/295694#M248824</guid>
      <dc:creator>ungawunga</dc:creator>
      <dc:date>2013-04-03T13:40:33Z</dc:date>
    </item>
    <item>
      <title>Re: Trigger Activiti workflow for task sitting in ReceiveTask causes a loop</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/trigger-activiti-workflow-for-task-sitting-in-receivetask-causes/m-p/295695#M248825</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Not too many people with experience with Activiti? lol… Any suggestions on ways to debug this instead of just hunting/pecking/trying stuff?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 04 Apr 2013 20:36:12 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/trigger-activiti-workflow-for-task-sitting-in-receivetask-causes/m-p/295695#M248825</guid>
      <dc:creator>ungawunga</dc:creator>
      <dc:date>2013-04-04T20:36:12Z</dc:date>
    </item>
  </channel>
</rss>

