2017-09-12 51 views
0

我需要在我的進程中創建並行運行的服務任務。wso2bps 3.6.0異步任務

嘗試創建與異步屬性的使用最簡單的流程:

enter image description here

隨着循環基數= 5(例如)

我發現,在activiti.xml配置它需要添加這個屬性:

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

但流仍然運行在一個線程。

我失蹤了什麼?

如何正確激活異步?

回答

1
  1. 激活異步並行執行上面的例子 - 只要需要設置Call Service異步,而不是Sub Process

  2. 爲我們所用async我們必須配置流程引擎是異步

    否則你會遇到這個國王的異常:

    org.activiti.engine.ActivitiOptimisticLockingException: conf/activiti.xml

    只是:VariableInstanceEntity [ID = 15317,名稱= nrOfActiveInstances,類型=整數,的longValue = 1,textValue = 1]通過同時

    Activiti的發動機的上wso2bps參數存儲在這裏其它事務更新添加以下屬性豆ID =「processEngineConfiguration」

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

    警告:不知道,如果它的功能或者錯誤。 子只有當你的子進程的end events設置async將正確捕獲所有線程的結局...

這些變化後,從討論的過程中多線程模式的偉大工程。