jpbm工作流框架

一:JBPM是什么?有什么用?能解决什么问题?

现实生活中有很多需要走一些流程的过程,比如请假流程,报销流程等,使用工作流框架,即可写一个流程即可,添加流程时不在繁琐的建立新的各种配置。

1:jBPM,全称是Java Business Process Management,是一种基于J2EE的轻量级工作流管理系统。

2:他可以使用 JPdl详细定义状态图的每个部分,如起始,结束状态,状态之间的转换等。

3:JBPM还有一个特点就是他使用  Hibernate  来管理他的数据库,他会在数据库中建立十八张表,项目中的流程都存在于这18张表中。不仅如此,他还提供了各个数据库的执行脚本

二:基本操作

1:以请假为例说明其基本操作

1:添加Jar包,提供三个核心配置文件

核心配置文件-----jbpm.cfg.xml
hibernate框架配置文件-----jbpm.hibernate.cfg.xml
日志配置文件-----logging.properties

2:加载发布流程定义:公司中的管理员通过jBPM的designer插件设计了一套请假的流程是什么样子的。

.3:对于流程的基本操作

3.1)部署流程

1 NewDeployment deployment = processEngine.getRepositoryService().createDeployment();
2 ZipInputStream zipInputStream = new ZipInputStream(new FileInputStream(new File("D:\\room\\jbpm\\process\\hello.zip")));
3 deployment.addResourcesFromZipInputStream(zipInputStream);
4 String id = deployment.deploy();
5 System.out.println(id);

3.2)删除流程

1 String deploymentId = "1";
2 processEngine.getRepositoryService().deleteDeployment(deploymentId);

3.3)查询流程

1 ProcessDefinitionQuery query = processEngine.getRepositoryService().createProcessDefinitionQuery();
2 long count = query.count();
3 System.out.println("当前系统流程定义的数量 = " + count);
4 List<ProcessDefinition> list = query.list();

3.4)获取一次流程对应的文档(xml文件以及png图片)

 1 Set<String> names = processEngine.getRepositoryService().getResourceNames(deploymentId);
 2 for(String name:names){
 3 System.out.println(name);
 4 }
 5 
 6 //获得一次部署对应的文件输入流
 7 String resourceName = "helloworld.jpdl.xml";
 8 //获得部署对应的输入流
 9 InputStream in = processEngine.getRepositoryService().getResourceAsStream(deploymentId, resourceName);
10 //通过此输出流将文件保存到本地磁盘
11 OutputStream out = new FileOutputStream(new File("d:\\" + resourceName));
12 byte[] b = 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值