1

使用 kie 服务器的 REST API,我创建了一个具有以下流程定义的容器:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<process-definition>
    <process-id>someProcessId</process-id>
    <process-name>someProcessName</process-name>
    <process-version></process-version>
    <package>somepackage</package>
    <container-id>someContainerId</container-id>
    <dynamic>false</dynamic>
</process-definition>

如果我尝试启动进程的一个实例,它似乎可以工作,使用:

curl -i -u '用户:密码!' -X POST -H 'Content-type: application/json' http://localhost:8080/kie-server/services/rest/server/containers/someContainerId/processes/someProcessId/instances

我收到一个 HTTP 201 Created 响应。

但是,如果我随后获得流程实例列表,则该列表为空。使用:

curl -i -u '用户:密码!' -X GET http://localhost:8080/kie-server/services/rest/server/queries/containers/someContainerId/process/instances

我收到:

我的 .drl 文件为每个规则定义了相同的规则流组,并且 .bpmn 定义了一个开始事件和 businessRuleTask 定义了该规则流组:

BPMN:

<process processType="Private" isExecutable="true" id="someProcessId" name="someProcessName" tns:packageName="somepackage" >

    <!-- nodes -->
    <startEvent id="_1"  isInterrupting="true"/>
    <endEvent id="_jbpm-unique-0" name="End" >
        <terminateEventDefinition />
    </endEvent>
    <businessRuleTask id="_jbpm-unique-2" name="someBusinessRuleTask" g:ruleFlowGroup="someRuleflowGroup" >
      <ioSpecification>
        <inputSet>
        </inputSet>
        <outputSet>
        </outputSet>
      </ioSpecification>
    </businessRuleTask>

    <!-- connections -->
    <sequenceFlow id="_jbpm-unique-2-_jbpm-unique-0" sourceRef="_jbpm-unique-2" targetRef="_jbpm-unique-0" />
    <sequenceFlow id="_1-_jbpm-unique-2" sourceRef="_1" targetRef="_jbpm-unique-2" />

  </process>

如果我从 DRL 中删除规则流组,我可以简单地触发所有规则(甚至不需要 BPMN),但想了解进程在 kie 服务器中的工作方式以及如何启动它们。

我应该补充一点,我正在单独插入规则使用的 java.util.Map 对象。

抱歉,这似乎是一个相对基本的问题,但据我所知,它应该启动流程实例,因此不确定我缺少什么。

谢谢。

4

1 回答 1

0

来自jBPM 的文档

当流程中到达规则任务时,jBPM 引擎将开始执行属于相应规则流组(如果有)的一部分的规则。如果此规则流组中没有更多活动规则,则执行将自动继续到下一个节点。

如果您的流程只是单个业务规则任务,则一旦启动,它将一直运行到<endEvent>节点并终止。当您请求您的流程实例时,您不会得到任何,因为您刚刚创建的实例已经终止。

希望能帮助到你,

于 2019-09-03T06:14:51.707 回答