小编Le *_*oir的帖子

Activiti 并行服务任务

我正在尝试在 Activiti 中实现两个应该并行运行的服务任务。下面编写的代码随机(有趣的是)可以正常工作。

我的意思是它偶尔只打印“ first”(或“ second”)或打印两个first“一个second”等。

问题:如何使这些服务始终并行运行?无论当前运行的服务数量如何?

PS:当我activiti:async="true"从流程定义中删除时,它只打印“ first”或“ second”。我想我需要那个:)

流程定义

<?xml version='1.0' encoding='UTF-8'?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL"
xmlns:activiti="http://activiti.org/bpmn" targetNamespace="Examples">

    <process id='testparallelact' name="Developer Hiring" isExecutable="true" activiti:exclusive="false" activiti:async="true">

        <startEvent id="theStart" />
        <sequenceFlow id="flow1" sourceRef="theStart" targetRef="fork" />

        <parallelGateway id="fork"  activiti:async="true" />
        <sequenceFlow sourceRef="fork" targetRef="receivePayment" />
        <sequenceFlow sourceRef="fork" targetRef="shipOrder" />


        <serviceTask id="receivePayment" name="Receive Payment" activiti:async="true" activiti:exclusive="false"
activiti:expression="${serviceConnections.runThis2('First')}"/>

        <sequenceFlow sourceRef="receivePayment" targetRef="join" />


        <serviceTask id="shipOrder" name="Ship Order" activiti:async="true" activiti:exclusive="false"
activiti:expression="${serviceConnections.runThis2('Second')}"/>

        <sequenceFlow sourceRef="shipOrder" targetRef="join" />

        <parallelGateway id="join" /> …
Run Code Online (Sandbox Code Playgroud)

java activiti

2
推荐指数
1
解决办法
3663
查看次数

标签 统计

activiti ×1

java ×1