wso2bps 3.6.0异步任务

时间:2017-09-12 17:41:33

标签: wso2 activiti wso2bps

我需要在我的流程中创建并行运行服务任务。

尝试使用异步属性用法创建最简单的流:

enter image description here

循环基数= 5(例如)

我发现在activiti.xml配置中需要添加此属性:

    <property name="asyncExecutorActivate" value="true" />

但是流程仍在一个线程中运行。

我失踪了什么?

如何正确激活异步?

1 个答案:

答案 0 :(得分:1)

  1. 在上面的示例中激活异步并行执行 - 需要在Call Service而不是Sub Process上设置异步

  2. 一旦我们使用async,我们就必须将流程引擎配置为异步

    否则你会遇到这个例外之王:

      

    org.activiti.engine.ActivitiOptimisticLockingException:VariableInstanceEntity [id = 15317,name = nrOfActiveInstances,type = integer,longValue = 1,textValue = 1]由另一个事务同时更新

    此处存储的wso2bps上的activiti引擎参数:conf/activiti.xml

    只需将以下属性添加到bean id =“processEngineConfiguration”

    <bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">
       ...
       <property name="asyncExecutorActivate" value="true" />
       <property name="asyncExecutorEnabled" value="true" />
       ...
    </bean>
    
      

    警告:不知道它的功能还是错误。只有在子进程的async上设置end events时,子进程才会正确捕获所有线程结尾...

  3. 在这些更改之后,来自问题的过程在多线程模式下运行良好。