JBPM4 读书笔记点滴

流程部署

String deploymentId = repositoryService.createDeployment()

.addResourceFromClasspath(

"com/examples/jbpm4/n2_3_4/process.jpdl.xml").deploy();

多次调用addResourceFromClasspath将流程定义的其他资源都部署到数据库中

addResourceFrom*** 流程定义可以从文件、Web URL、字符串、输入流或Zip流中获取

部署后获取一个关联的Key

Service API

ProcessEngine是所有Service API之源

任务服务API

主要目的是提供对任务列表的访问操作,Task活动产生的人机交互业务

流程变量

流程启动变量

ExecutionService提供了操作具体流程变量的方法

TaskService也有,操作的是任务绑定的流程变量,HistoryService

流程运行中,Execution接口对象有提供操作流程变量的方法

Web任务表单

使用表单帮助工作流引擎获取用户的输入

使用表单,可以通过form属性将表单绑定在Task活动或start活动上

<start form=”/com/example/jbpm4/taskform/request_vacation.ftl” name=”start”>

<task form=”/…/verify.ftl”>

认证

提供两套:

IdentitySessionImpl:默认,使用的是jbpm4_id_user jbpm4_id_group jbpm4_id_membership

JBossIdmIdentitySessionImpl: 和JBOSS的集成身份验证

自定义的形式

1、 删除jbpm.cfg.xml中的<import resource=”jbpm.identity.cfg.xml”

2、 在jbpm.cfg.xml加入

<transaction-context>

<object class=”yourpackage.YourIdentitySessionImpl”/>

</transaction-context>

实现 org.jbpm.pvm.internal.identity.spi.IdentitySession接口,同时需要实现User Group接口

具体实现参考默认带的两个如IdentitySessionImpl.java

https://anosvn.jboss.org/repos/jbpm/jbpm4

详细可以参考: 《jBPM工作流应用开发指南》代码

原文地址:https://www.cnblogs.com/2018/p/2240255.html