<?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 Parallel multi instance usertasks collection from service in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/parallel-multi-instance-usertasks-collection-from-service/m-p/98388#M67839</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;The example: (from &lt;/SPAN&gt;&lt;A href="http://activiti.org/userguide/index.html#bpmnMultiInstance" rel="nofollow noopener noreferrer"&gt;http://activiti.org/userguide/index.html#bpmnMultiInstance&lt;/A&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&amp;lt;userTask id="miTasks" name="My Task" activiti:assignee="${assignee}"&amp;gt;&lt;BR /&gt;&amp;nbsp; &amp;lt;multiInstanceLoopCharacteristics isSequential="true" &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; activiti:collection="${myService.resolveUsersForTask()}" activiti:elementVariable="assignee" &amp;gt;&lt;BR /&gt;&amp;nbsp; &amp;lt;/multiInstanceLoopCharacteristics&amp;gt;&lt;BR /&gt;&amp;lt;/userTask&amp;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;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;The problem is that service "myService" method &lt;/SPAN&gt;&lt;STRONG&gt;resolveUsersForTask &lt;/STRONG&gt;&lt;SPAN&gt; are invoked multi-times. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In activiti-engine class method: &lt;/SPAN&gt;&lt;STRONG&gt;org.activiti.engine.impl.bpmn.behavior.ParallelMultiInstanceBehavior.createInstances&lt;/STRONG&gt;&lt;SPAN&gt; evaluate expresion values multi-times. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;First resolving:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;int nrOfInstances = resolveNrOfInstances(execution);&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;Second only for setting &lt;/SPAN&gt;&lt;STRONG&gt;assignee&lt;/STRONG&gt;&lt;SPAN&gt; (string value from collection) are invoked collectionExpression (myService.resolveUsersForTask()): &lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (int loopCounter=0; loopCounter&amp;lt;nrOfInstances; loopCounter++) {&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; executeOriginalBehavior(concurrentExecution, loopCounter);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&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;SPAN&gt;So totally this service are invoked collection.size()+1 times. May be in near future possible optimize this part?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 22 Aug 2012 13:39:42 GMT</pubDate>
    <dc:creator>mindaugas</dc:creator>
    <dc:date>2012-08-22T13:39:42Z</dc:date>
    <item>
      <title>Parallel multi instance usertasks collection from service</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/parallel-multi-instance-usertasks-collection-from-service/m-p/98388#M67839</link>
      <description>The example: (from http://activiti.org/userguide/index.html#bpmnMultiInstance)&amp;lt;userTask id="miTasks" name="My Task" activiti:assignee="${assignee}"&amp;gt;&amp;nbsp; &amp;lt;multiInstanceLoopCharacteristics isSequential="true" &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; activiti:collection="${myService.resolveUsersForTask()}" activiti:elementVariable=</description>
      <pubDate>Wed, 22 Aug 2012 13:39:42 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/parallel-multi-instance-usertasks-collection-from-service/m-p/98388#M67839</guid>
      <dc:creator>mindaugas</dc:creator>
      <dc:date>2012-08-22T13:39:42Z</dc:date>
    </item>
    <item>
      <title>Re: Parallel multi instance usertasks collection from service</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/parallel-multi-instance-usertasks-collection-from-service/m-p/98389#M67840</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Can someone comment this situation? Does there are any other way using UserTask for multi users, get in current state assignee's list from java service meanwhile this service retrieve list from third-party app using web-service. So calling &lt;/SPAN&gt;&lt;STRONG&gt;myService.resolveUsersForTask()&lt;/STRONG&gt;&lt;SPAN&gt; many times are unacceptable. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Mindaugas&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 23 Aug 2012 08:41:08 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/parallel-multi-instance-usertasks-collection-from-service/m-p/98389#M67840</guid>
      <dc:creator>mindaugas</dc:creator>
      <dc:date>2012-08-23T08:41:08Z</dc:date>
    </item>
  </channel>
</rss>

