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工作流应用开发指南》代码