`
dingjun1
  • 浏览: 211855 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JBPM常用方法

阅读更多
最近开始了解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 常用表结构及其说明 JBPM4是JBPM(Java Business Process Model)的一个版本,主要用于提供业务流程管理的功能。它通过一组数据库表来支持工作流的执行与跟踪。本文将详细介绍JBPM4中的常用表结构及其...

    jbpm常用数据库脚本

    了解这些数据库脚本的使用方法,对于jbpm的部署和维护至关重要。如果你正在进行jbpm的项目实施或运维工作,理解这些脚本的作用以及如何在不同数据库系统中应用它们,将有助于你更好地管理和优化jbpm的工作流程。同时...

    Jbpm4常用操作.doc

    Jbpm4常用操作 Jbpm4是Java流程管理系统(Java Business Process Management System),它提供了一种基于工作流的方式来定义、执行和管理业务流程。下面是Jbpm4常用操作的详细说明: 一、流程定义 流程定义是Jbpm...

    jbpm-常用的所有jar包

    在"jbpm-常用的所有jar包"中,我们通常会看到一系列的jar文件,这些文件包含了jbpm框架运行所需的核心组件和依赖库。以下是一些主要的jar包及其功能: 1. **jbpm-flow.jar**:这是jbpm的主要流程引擎,包含了流程...

    jbpm安装及使用方法

    (不常用) 3)decision 当需要在流程中根据不同条件来判断执行不同路径时,就可以用decision节点。两种方法:最简单的是在transitions里增加condition elements(条件),condition是beanshell script写的,它返回...

    jbpm+ssh整合

    jbpm是一个开源的工作流引擎,可以处理复杂的业务流程自动化,而SSH是Java开发中常用的技术栈,提供了MVC架构、依赖注入和对象关系映射等功能。 在进行jbpm与SSH框架的集成时,首先要确保环境的正确搭建。这里以...

    jBPM4.4开发实例

    3. **集成IDE**:常用IDE如Eclipse或IntelliJ IDEA,可以通过插件集成jBPM开发工具,便于流程设计和调试。 **三、jBPM4.4流程建模** 1. **使用BPMN编辑器**:通过图形化界面设计流程图,包括任务、网关、事件等...

    jbpm-sql脚本

    2. **jbpm.jpdl.mssql.sql**:此脚本适用于Microsoft SQL Server,是Windows服务器环境下常用的数据库系统。jbpm.jpdl.mssql.sql包含了在SQL Server上构建jbpm环境所需的SQL语句,使得jbpm能够在Windows平台下顺利...

    jBPM4完整例子

    SSH是Java Web开发中常用的三大组件:Struts2负责控制层,提供MVC设计模式的实现;Spring作为应用框架,提供依赖注入(DI)和面向切面编程(AOP),以及服务层管理;Hibernate则作为一个对象关系映射(ORM)工具,...

    关于jbpm工作流的一些常用的问题

    jbpm工作流是一种开源的工作流管理系统,由JBoss组织开发,用于帮助企业自动化业务流程。jbpm提供了丰富的功能,包括流程定义、执行、监控和集成,适用于各种业务场景,如人力资源管理、采购流程、客户服务等。 在...

    我写的一个jbpm实例

    SSH,即Spring、Struts和Hibernate的组合,是Java开发中常用的MVC(Model-View-Controller)框架。Spring提供了依赖注入和AOP(面向切面编程),Struts负责控制层,而Hibernate则作为持久层的ORM工具。在这个jbpm...

    JBPM流程代码演示

    2. **WorkFlowApplication.java**:这个文件可能是工作流应用的接口或抽象类,定义了与流程管理相关的通用方法。例如,它可能包含开始新流程、查询当前运行的流程实例、获取待办任务等功能的声明。 3. **jbpm-...

    jbpmOA项目代码经典

    5. **注解使用**:掌握Java注解的基本用法,理解jbpm中常用注解的含义和作用,如@ProcessDefinition、@TaskListener等。 6. **数据库和持久化**:了解jbpm如何与数据库交互存储流程实例和任务信息,以及如何配置和...

    JBPM5 整合Spring3经典案例

    Ant是Java项目常用的构建工具,可以编写XML配置文件来自动化编译、打包和部署过程。 - `jbpm_03_for_ant`:这是一个可能包含Ant构建脚本和其他配置文件的目录。用户需要按照文档的指示配置这些文件,然后执行Ant命令...

    JBPM4与JBPM5工作流系统技术可行性分析

    5. **应用场景**:能够应对常用的工作流场景。 6. **开源程度**:架构完全开源。 7. **社区活跃度**:开源社区活跃度高。 8. **文档齐全**:拥有详尽的技术文档。 9. **监控与管理**:支持监控与管理功能。 10. **...

    jBPM4.1中文开发指南

    ### jBPM4.1中文开发指南 #### jBPM4简介 jBPM(Java Business Process Model)是JBoss的一个开源项目,提供了一个灵活的工作流引擎,支持业务流程建模、执行和管理。jBPM4.1版本在原有基础上进行了多项改进,包括...

    基于JBPM的请假系统

    SSH(Spring、Struts2和Hibernate)是Java Web开发中常用的三大框架,它们分别负责不同的职责。Spring作为全能型框架,提供了依赖注入、AOP(面向切面编程)、事务管理等功能,使得代码更加模块化和松耦合。Struts2...

Global site tag (gtag.js) - Google Analytics