如何在BPMN 2.0中指定服务任务以在JBPM 5中执行自定义Java代码

时间:2011-12-30 13:39:20

标签: jbpm bpmn

我想使用仅使用XML语法的BPMN-2.0在JBPM-5中添加服务测试。我希望该服务任务具有某种Java类型的输入和输出参数。
假设我为我的服务任务创建了 mypackage.MyCustomTaskWorkItemHandler ,并将其注册在相应的WorkItemManager中,如 MyCustomTask
现在我想在BPMN XML文件中描述这个服务任务的调用。

<serviceTask id="myCustomTask1" ... implementation=??? operationRef=???>
    <!-- incoming,outgoing,etc -->
    <ioSpecification>
        ...
    </ioSpecification>
</serviceTask>

标记serviceTask来自http://www.omg.org/spec/BPMN/20100524/MODEL命名空间。我应该为它指定输入和输出参数有多精确?

1 个答案:

答案 0 :(得分:2)

这是一个例子:  http://pastebin.com/4dpz0KZt 您按照与UserTask相同的方式执行ioSpecification。 jBPM5将查看tns:taskName =“Start Procedure”以匹配您的WorkItemHandler注册名称。在我的情况下,我已经注册了一个“开始过程”workItemHandler。 我从紧急服务应用程序中提取了此示例代码 - &gt; http://salaboy.com/2011/05/28/emergency-services-v2-jbpm5-and-drools-blueprint/

对于此过程:https://github.com/Salaboy/emergency-service-drools-app/blob/master/emergency-service-core/src/main/resources/processes/procedures/GenericEmergencyProcedure.bpmn 新年快乐! 干杯