最近开始了解JBPM,边学,边总结一下常用的方法
获得JBPM上下文
//默认使用名为"jbpm.cfg.xml"的配置文件
JbpmConfiguration configuration = JbpmConfiguration.getInstance();
//JbpmConfiguration configuration = JbpmConfiguration.getInstance(cfgName);
//使用默认工厂实例对应的名称为 JbpmContext.DEFAULT_JBPM_CONTEXT_NAME
JbpmContext context = configuration.createJbpmContext() ;
//JbpmContext context = configuration.createJbpmContext(contextName) ;
//保存流程实例
context.deployProcessDefinition(ProcessDefinition processDefinition);
持久相关的操作
TaskMgmtSession mgmtSession = context.getTaskMgmtSession();
/**
*DbPersistenceServiceFactory dbPersistenceServiceFactory = (DbPersistenceServiceFactory) jbpmConfiguration.getServiceFactory(Services.SERVICENAME_PERSISTENCE);
DbPersistenceService service = (DbPersistenceService)dbPersistenceServiceFactory.openService();
DbPersistenceService service = new DbPersistenceService( dbPersistenceServiceFactory);
service.getTaskMgmtSession();
*/
加载流程创建实例
InputStream is = MyClass.class.getResourceAsStream("processdefinition_web.xml");
ProcessDefinition processDefinition = ProecessDefinition.parseXmlInputStream(is);
ProcessInstance processInstance = new ProcessInstance(processDefinition);
获得流程定义中的节点
//通过当前的根令牌所在的节点
Node node = processInstance.getRootToken().getNode();
//通过名称检索节点
Node node = processDefinition.getNode(nodeName);
执行指定名称的transition
//节点open定义了两个Transition
/*<state name="Open">
* <transition name="close" to="Closed" />
* <transition name="lock" to="Open Locked" />
*</state>
*/
Node node = processDefinition.getNode("Open");
processInstance.getRootToken().setNode(node);
processInstance.signal("lock");
//assertSame(processInstance.getRootToken().getNode(),processDefinition.getNode("Open Locked"));
//processInstance.signal();
//assertSame(processInstance.getRootToken().getNode(),processDefinition.getNode("Closed"));
分享到:
相关推荐
### JBPM4 常用表结构及其说明 JBPM4是JBPM(Java Business Process Model)的一个版本,主要用于提供业务流程管理的功能。它通过一组数据库表来支持工作流的执行与跟踪。本文将详细介绍JBPM4中的常用表结构及其...
了解这些数据库脚本的使用方法,对于jbpm的部署和维护至关重要。如果你正在进行jbpm的项目实施或运维工作,理解这些脚本的作用以及如何在不同数据库系统中应用它们,将有助于你更好地管理和优化jbpm的工作流程。同时...
Jbpm4常用操作 Jbpm4是Java流程管理系统(Java Business Process Management System),它提供了一种基于工作流的方式来定义、执行和管理业务流程。下面是Jbpm4常用操作的详细说明: 一、流程定义 流程定义是Jbpm...
在"jbpm-常用的所有jar包"中,我们通常会看到一系列的jar文件,这些文件包含了jbpm框架运行所需的核心组件和依赖库。以下是一些主要的jar包及其功能: 1. **jbpm-flow.jar**:这是jbpm的主要流程引擎,包含了流程...
(不常用) 3)decision 当需要在流程中根据不同条件来判断执行不同路径时,就可以用decision节点。两种方法:最简单的是在transitions里增加condition elements(条件),condition是beanshell script写的,它返回...
jbpm是一个开源的工作流引擎,可以处理复杂的业务流程自动化,而SSH是Java开发中常用的技术栈,提供了MVC架构、依赖注入和对象关系映射等功能。 在进行jbpm与SSH框架的集成时,首先要确保环境的正确搭建。这里以...
3. **集成IDE**:常用IDE如Eclipse或IntelliJ IDEA,可以通过插件集成jBPM开发工具,便于流程设计和调试。 **三、jBPM4.4流程建模** 1. **使用BPMN编辑器**:通过图形化界面设计流程图,包括任务、网关、事件等...
主要讲解了JBPM的常用接口函数,和如何使用JBPM,个人感觉还行
2. **jbpm.jpdl.mssql.sql**:此脚本适用于Microsoft SQL Server,是Windows服务器环境下常用的数据库系统。jbpm.jpdl.mssql.sql包含了在SQL Server上构建jbpm环境所需的SQL语句,使得jbpm能够在Windows平台下顺利...
SSH是Java Web开发中常用的三大组件:Struts2负责控制层,提供MVC设计模式的实现;Spring作为应用框架,提供依赖注入(DI)和面向切面编程(AOP),以及服务层管理;Hibernate则作为一个对象关系映射(ORM)工具,...
jbpm工作流是一种开源的工作流管理系统,由JBoss组织开发,用于帮助企业自动化业务流程。jbpm提供了丰富的功能,包括流程定义、执行、监控和集成,适用于各种业务场景,如人力资源管理、采购流程、客户服务等。 在...
SSH,即Spring、Struts和Hibernate的组合,是Java开发中常用的MVC(Model-View-Controller)框架。Spring提供了依赖注入和AOP(面向切面编程),Struts负责控制层,而Hibernate则作为持久层的ORM工具。在这个jbpm...
WS-HT是一种常用的人工任务服务实现,支持组设置、任务分配等功能。 #### 七、领域 - 规范流程 这一部分涉及到特定领域的业务流程规范,例如金融、制造等行业中的特定流程需求。 #### 八、持久化 为了保证数据的...
2. **WorkFlowApplication.java**:这个文件可能是工作流应用的接口或抽象类,定义了与流程管理相关的通用方法。例如,它可能包含开始新流程、查询当前运行的流程实例、获取待办任务等功能的声明。 3. **jbpm-...
5. **注解使用**:掌握Java注解的基本用法,理解jbpm中常用注解的含义和作用,如@ProcessDefinition、@TaskListener等。 6. **数据库和持久化**:了解jbpm如何与数据库交互存储流程实例和任务信息,以及如何配置和...
Ant是Java项目常用的构建工具,可以编写XML配置文件来自动化编译、打包和部署过程。 - `jbpm_03_for_ant`:这是一个可能包含Ant构建脚本和其他配置文件的目录。用户需要按照文档的指示配置这些文件,然后执行Ant命令...
5. **应用场景**:能够应对常用的工作流场景。 6. **开源程度**:架构完全开源。 7. **社区活跃度**:开源社区活跃度高。 8. **文档齐全**:拥有详尽的技术文档。 9. **监控与管理**:支持监控与管理功能。 10. **...
### jBPM4.1中文开发指南 #### jBPM4简介 jBPM(Java Business Process Model)是JBoss的一个开源项目,提供了一个灵活的工作流引擎,支持业务流程建模、执行和管理。jBPM4.1版本在原有基础上进行了多项改进,包括...
- **使用Helper方法**: 介绍了一些常用的测试辅助方法。 - **断言**: 如何使用断言来验证流程行为。 - **调试**: 如何利用提供的工具进行流程调试。 - **流程实例视图**: 查看流程实例的执行情况。 - **人工任务视图...
SSH(Spring、Struts2和Hibernate)是Java Web开发中常用的三大框架,它们分别负责不同的职责。Spring作为全能型框架,提供了依赖注入、AOP(面向切面编程)、事务管理等功能,使得代码更加模块化和松耦合。Struts2...