JBPM初识
来源:互联网 发布:w10计算机缺少网络协议 编辑:程序博客网 时间:2024/06/05 03:23
什么是JBPM
Java Business Process Management(业务流程管理),它是覆盖了业务流程管理、工作流、服务协作等领域的一个开源的、灵活的、易扩展的可执行流程语言框架。(来自百科)
特点
JBPM的业务逻辑定义采用了它自己定义的JBoss jBPM Process definition language (jPdl)
jBPM使用Hibernate来管理它的数据库。只要是 Hibernate 支持的数据库, jBPM 也就支持。通过Hibernate,jBPM将数据的管理职能分离出去,自己专注于业务逻辑的处理。
JBPM的核心对象
核心对象就是Configuration和ProcessEngine。
configuration是jbpm的配置文件管理对象(资源加载对象)。负责加载jbpm的各种配置:如数据库连接配置,事务配置,身份认证,jpdl等相关配置
ProcessEngine是一个服务工厂,负责创建jbpm的每个任务。它通过configuration类构建,configuration以单例模式获取该对象。它是线程安全的,所有的线程和请求都可以使用同一个processEngine对象。
开发步骤:建立数据库连接、建立jdpl流程定义、部署流程定义、创建流程实例、提交任务
1、 建立数据库连接,通过Hibernate连接数据库,以mySql为例。
jbpmtest是mysql中的schema的名字;
utf-8是字符集,可以根据需要修改;
username=root,mysql数据库的用户名是root;
password=root,mysql数据库的用户密码是root
hibernate.dialect=org.hibernate.dialect.MySQLDialecthibernate.connection.driver_class=com.mysql.jdbc.Driverhibernate.connection.url=jdbc:mysql://localhost/jbpmtest?useUnicode=true&characterEncoding=utf-8hibernate.connection.username=roothibernate.connection.password=root
2、 建立jdpl流程定义
实际就是一个XML文件,提前定义好格式
3、 部署流程
ProcessEngine processEngine=Configuration.getProcessEngine(); //创建repositoryService服务,可以实现部署、删除流程等 RepositoryService repositoryService=processEngine.getRepositoryService(); //部署流程 repositoryService.createDeployment().addResourceFromClasspath("jbpmtest.jpdl.xml").deploy();
4、创建流程实例
ProcessEngine processEngine=Configuration.getProcessEngine(); ExecutionService executionService=processEngine.getExecutionService(); //通过已经存在的实例的key值,获得实例 ProcessInstance processInstance=executionService.startProcessInstanceByKey("jbpmtest"); System.out.println("流程实例ID===="+processInstance.getId());
5、提交任务
ProcessEngine processEngine=Configuration.getProcessEngine(); TaskService taskService=processEngine.getTaskService(); taskService.completeTask("**");
JBPM基本的流程就是这样了,其他的之后再介绍。另外,给出一些知识补充:JBPM提供的服务
RepositoryService
流程资源服务接口。提供对流程定义的部署、查询、删除和流程图查看的操作。
ExecutionService
流程执行服务接口。提供启动流程实例、推进、删除操作。
TaskService
人工任务服务接口。提供对任务的创建、提交、查询、保存、删除等操作
HistoryService
流程历史服务接口。对流程历史库中历史流程实例,历史活动实例等记录的查询
ManagementService
流程管理接口。通常用来管理异步服务(不常用)。
IdentityService
身份认证服务接口。
最后给大家推荐一篇相关的不错文章(点我)
- jBPM初识
- 初识jbpm
- Jbpm初识
- JBPM初识
- 初识jbpm(一)
- 初识jbpm(二)
- JBPM API初识
- 初识工作流 BPMN Activiti以及JBPM
- jBPM
- jbpm
- jBPM
- JBPM
- JBPM
- JBPM
- Jbpm
- jbpm
- jbpm
- jbpm
- mysql远程登录出错
- shell 调试
- Merge two sorted Array
- 一种可实时处理 O(1)复杂度图像去雾算法的实现。
- 各种数据类型在不同机器上的所占字节问题
- JBPM初识
- 互联网没有基业长青?(转)
- WPF 3D建模工具Ab3d全面更新 Win8支持改进
- 中水处理设备消毒技术及工艺过程选择
- delphi 无标题栏窗口点任意地方移动窗体
- 在centos 64下面安装gcc 4.1.2
- 79. 视图里的计算属性——从ASP、JSP、JSF到XPages的“钻石”
- js模板引擎介绍搜集
- 运用DXperience 12.2轻松创建Win8风格的Office应用