jpbm开发流程

开发流程:

1.分析业务,建立流程process definition(业务人员) rose ea 活动图

2.开发人员 根据活动图建立jpdl流程定义

3.开发人员 或者是管理员部署流程

4.开发人员 编写处理这个流程的代码

5.用户 发起流程实例 processlnstance

6.用户 审批流程


实例:

部署流程定义
repositroyService.createDeployment().addResourceFromClasspath("test1.jpdl.xml").deploy()
创建流程实例
executionService.startProcessInstanceByKey("test",map);
查询当前任务实例 
executionService.findProcessInstanceById("test.10001");   
查询角色任务
taskService.findPersonalTasks(“科长");
完成提交
taskService.completeTask("20001");


核心对象


Configuration是jbpm的配置文件管理对象即资源加载对象.负责加载jbpm的各种配置如数据库连接配置,事务配置,身份认证,jpdl等相关配置.

ProcessEngine是一个服务工厂,有点类似hibernate的sessionFactory负责创建jbpm的每个服务.

ProcessEngine通过Configuration类构建,Configuration以单例模式获取ProcessEngine对象
ProcessEngine是线程安全的,所有的线程和请求都可以使用同一个ProcessEngine对象
ProcessEngine processEngine = Configuration.getProcessEngine();

RepositoryService
流程资源服务接口。提供对流程定义的部署、查询、删除和流程图查看等操作。
ExecutionService
流程执行服务接口。提供启动流程实例、推进、删除等操作。
TaskService
人工任务服务接口。提供对任务的创建、提交、查询、保存、删除等操作。
HistoryService
流程历史服务接口。提供对任务的管理操作。提供对流程历史库中历史流程实例、历史活动实例等记录的查询。

ManagementService
流程管理接口,通常用来管理Jop(异步服务)
IdentityService
身份认证服务接口。提供对流程用户、用户组管理


JBPM流程变量

流程实例变量 ProcessInstance  >task (不同流程实例,不同任务的流程变量不能互相访问)
任务变量 Task

JBPM使用EL表达式获取变量 ${name}


流程定义语言JPDL:jPDL(JBoss jBPM Process Definition Language)是构建于jBPM框架上的流程语言之一。在jPDL中提供了任务(tasks)、待处理状态 (wait states)、计时器(timers)、自动处理(automated actions)…等术语,并通过图型化的流程定义,很直观地描述业务流程

JPDL常用活动(Activity)节点:

Start(开始活动) 
State(状态活动)
Decision(判断活动)
Fork – join(分支活动)
End(结束活动)
Task(人工任务活动) :Assignee


JPDL监听

事件监听
<on event="start">  
    <event-listener class="com.tgb.bpm.Listener.MyListener">  
    </event-listener>  
</on>   


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值