下面开始使用jbpm,不过在进行之前要明确一点,就是流程定义与流程实例的区别,一个流程定义就是相当于java中的类,一个流程实例就是相当于java中的实例对象,一个流程有一个Key,一个流程实例有一个id。这样下面的service类的使用就容易区分很多了。好吧,现在就开始下面的实践。附件的内容是一份不错的资料,可以好好看一下,主要的内容等一下更新。
以上两种方式创建流程引擎:(其他的服务都是用processEngine来获得)
ProcessEngine processEngine = Configuration.getProcessEngine();
ProcessEngine processEngine = new Configuration("my.xml").setResource().buildProcessEngine();
主要的服务:
RepositoryService------------------提供对流程定义的部署、查询、删除等操作;
ExecutionService-----------------提供流程实例、"执行"、推进、设置流程变量等;
ManagementService------------------提供流程管理控制服务,异步job;
TaskService------------------提供人工服务的创建,提交,查询,保存,删除等;
HistoryService
IdentityService-----------------身份认证,用户,用户组,组与成员关系;
开始部署(把流程入库):(其他还有很多种方式:addResourceFrom
XXX)
String deploymentId = reposityoryService.createDeployment().addResourceFromClasspath("org/jbpm/Order.jpdl.xml").deploy();
部署完了就要发起流程实例了(部署流程也是为了要用的哈,也是有很多种startProcessInstanceByKey的重载,看具体需求,API里面很多的)
ProcessInstance processInstance = executionService.startProcessInstanceByKey("Order");
最好的应该是下面的方式:(自己指定业务键Order1001,方便后续处理)
ProcessInstance processInstance = executionService.startProcessInstanceByKey("Order","Order1001");
这样处理会生成ID为Order.Order1001的流程实例
如果有时要与流程交互的话,变量的交换就少不了了,变量是用Map传给流程的
Map<String,Object> variables = new HashMap<String,Object>();
variables.put("var1","Alex");
ProcessInstance processInstance = executionService.startProcessInstanceByKey("Order",variables,"Order1001");
有个疑问:
如果执行了下面这一句的话是不是以后的流程产生实例就不用执行了??
deploymentId = repositoryService.createDeployment()
.addResourceFromClasspath("org/jbpm/examples/end/state/process.jpdl.xml")
.deploy();
分享到:
相关推荐
jbpm(Java Business Process Management)是一款开源的工作流程管理系统,它为业务流程的建模、部署、执行和监控提供了全面的解决方案。...了解和掌握上述知识点,将为你的jbpm开发之旅打下坚实的基础。
通过以上步骤,你已经在MyEclipse 10中成功配置了JBPM开发环境,可以开始你的业务流程管理应用的开发之旅了。记得在开发过程中不断学习和熟悉JBPM的相关概念和技术,如工作流定义、任务节点、事件处理等,以提升你的...
jbpm4.4学习教程是一套专为初学者设计的教育资源,旨在帮助用户掌握jbpm这一业务流程管理(Business Process Management)框架的第4.4版本...希望这个教程能为您的学习之旅提供全面的指导,助您成为jbpm的熟练使用者。
**jBPM3学习心得** jBPM3是一款开源的工作流管理系统,主要用于处理业务流程的自动化和管理。它提供了一套完整的解决方案,包括流程建模、执行和监控,...希望我的这些学习心得能为你的jBPM3之旅提供一些参考和启示。
《深入浅出jBPM:1-6章测试代码详解》 jBPM,全称为Java Business Process Management,是一款开源的工作流管理...希望这篇关于《深入浅出jBPM:1-6章测试代码详解》的内容能对你在jBPM的学习之旅中提供有价值的指导。
第一篇 jBPM工作流开发基础 1 第1章 工作流基础 2 1.1 工作流概念 2 1.1.1 工作流管理思想之于企业现代化管理 2 1.1.2 工作流技术在企业中的应用 5 1.1.3 如何从一个开发者的角度看工作流技术 6 1.2 工作流管理系统...
为了开始 JBPM 的开发之旅,你需要做一些准备工作: - **下载 JBPM**: 你可以从官方网站 [http://www.jboss.com/products/jbpm](http://www.jboss.com/products/jbpm) 下载最新的 JBPM 版本。本文档使用的是 3.2.1 ...
### 二、jBPM中的BPEL功能特性 #### 流程控制 jBPM的BPEL引擎支持多种流程控制机制,包括顺序执行、条件分支、循环等,使开发者能够灵活地设计和调整业务流程,满足复杂多变的业务需求。 #### 数据处理 数据是...
工作流的起源以及发展作了简单的介绍,其中主要介绍了在工作流领域的 BPMN2.0 规范,BPMN2.0 规范为工作流应用提供了语言以及图形的标准,在 1.2 小节介绍 ...Activiti 的简单介绍后,本书将带领读者开始 Activiti 之旅
yaoqiang BPMN2.0设计器是一款专为流程图设计打造的工具,主要用于支持Activiti和JBPM等流行的业务流程管理系统。...通过下载并解压`yaoqiang-bpmn-editor-2.0.91.jar.zip`文件,用户即可开始他们的流程设计之旅。
### 新手如何学习编程 对于初次接触编程领域的新手而言,如何有效地学习编程是一大挑战。本文将根据“新手如何...希望上述建议能够帮助初学者们更好地开启编程之旅。记住,兴趣是最好的老师,持之以恒是成功的秘诀。
在使用百度全景图Flex设计器时,用户可以导入多张二维图片,然后通过软件自动拼接成一个完整的全景图像。这个过程涉及到图像处理和计算机视觉的技术,如图像对齐、无缝拼接和光照一致性等。同时,该设计器还支持对...