uel表达式 字符串截取_Activiti 5.15 用户手册

本文介绍如何使用Activiti引擎发布流程定义。通过创建一个名为VacationRequest.bpmn20.xml的XML文件并部署到RepositoryService,使得流程定义可以被引擎识别并执行。发布流程涉及将BPMN 2.0 XML文件解析为可执行的对象。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

发布流程

任何与“静态”资源有关的数据(比如流程定义)都可以通过

RepositoryService访问。

从概念上讲,所以静态数据都是Activiti的资源内容。

在src/test/resources/org/activiti/test目录下创建一个新的xml文件

VacationRequest.bpmn20.xml(如果不使用单元测试模板,你也可以在任何地方创建),

内容如下。注意这一章不会解释例子中使用的xml结构。

如果有需要可以先阅读bpmn 2.0章来了解这些。<?xml version="1.0" encoding="UTF-8" ?>

targetNamespace="http://activiti.org/bpmn20"

xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:activiti="http://activiti.org/bpmn">

${employeeName} would like to take ${numberOfDays} day(s) of vacation (Motivation: ${vacationMotivation}).

management

${vacationApproved == 'true'}

${vacationApproved == 'false'}

Your manager has disapproved your vacation request for ${numberOfDays} days.

Reason: ${managerMotivation}

${employeeName}

${resendRequest == 'true'}

${resendRequest == 'false'}

为了让Activiti引擎知道这个流程,我们必须先进行“发布”。

发布意味着引擎会把BPMN 2.0 xml解析成可以执行的东西,

“发布包”中的所有流程定义都会添加到数据库中。

这样,当引擎重启时,它依然可以获得“已发布”的流程:ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();

RepositoryService repositoryService = processEngine.getRepositoryService();

repositoryService.createDeployment()

.addClasspathResource("org/activiti/test/VacationRequest.bpmn20.xml")

.deploy();

Log.info("Number of process definitions: " + repositoryService.createProcessDefinitionQuery().count());

可以阅读发布章来了解更多关于发布的信息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值