盘古BPM体验地址    盘古BPM交流群盘古BPM交流群号:963222735

flowable中dataObject使用

分享牛 4012℃

摘要:本文重点讲解flowable中dataObject的使用,Flowable框架中强化了dataObject元素的作用,在Flowable中的modler设计器中,已经支持该元素的添加操作。这个相对于activiti而言已经进步了不少。dataObject可以在process中配置、可以在任务节点中配置,也可以在子流程中进行配置。下面我们开始讲解如何在process中配置dataObject。

    配置dataObject

    流程文档如下:

<process id="valuedDataObjectModel" name="Data Object Model" isExecutable="true">

    <dataObject id="dObj1" name="StringTest" itemSubjectRef="xsd:string">

      <extensionElements>

        <activiti:value><![CDATA[Testing1&2&3]]></activiti:value>

      </extensionElements>

    </dataObject>

    <startEvent id="start1"></startEvent>

    <endEvent id="end1"></endEvent>


上面的文档中,我们在process里面配置了一个dataObject,id是dObj1,类型是字符。

    启动流程实例观察数据

下面,我们开始部署上述的流程文档,并启动流程实例,示例代码如下:

@Test

public void deploy() {

Deployment deploy = repositoryService

.createDeployment()

.addClasspathResource("com/shareniu/shareniu_network_flowable/test/valueddataobjectmodel.bpmn")

.category("ExclusiveGateWay")

.name("费用报销流程")

.key("ExclusiveGateWay")

.deploy();

Map<String, Object> variables=new HashMap<String, Object>();

variables.put("money", 700);

ProcessInstance pi = runtimeService.startProcessInstanceByKey("valuedDataObjectModel", variables);

System.out.println(pi.getId());

}

数据库中ACT_RU_VARIABLE表新增了几个变量,如下图所示:          

总结

在process中配置的 dataObject元素值可以作为全局的变量进行使用,支持的类型如下:

xsd:string

xsd:boolean

xsd:datetime

xsd:double

xsd:int

xsd:long

xsd:datetime


 

转载请注明:分享牛 » flowable中dataObject使用