把流程定义文档部署到jbpm引擎中

2024-03-26 21:58

本文主要是介绍把流程定义文档部署到jbpm引擎中,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

package com.tfy.jbpm.test;


import java.util.List;


import org.jbpm.api.ProcessEngine;
import org.jbpm.api.task.Task;
import org.junit.Test;


import com.tfy.jbpm.base.BaseJbpm;


/**
 * 流程管理
 * 1、把流程定义语言部署到jbpm的引擎中
 * 2、查看流程图
 * 3、删除流程流程定义
 * 4、对流程定义进行查询
 * @author Think
 *
 */
public class PDTest extends BaseJbpm{
/**
* 把流程定义文档部署到jbpm引擎中
* 涉及到的表
*    JBPM4_PROPERTY
*    JBPM4_DEPLOYMENT
*       *  表的含义:描述一次部署
*       *  字段:
*            DBID_:主键   部署ID
*            STATE_:状态  active
*     *    JBPM4_LOB  
*       *  表的含义:流程定义文档在这张表中存储
*       *  在部署的时候,加载几个配置文件,在这个表中就生成几行数据
*       *  字段
*            DBID_:主键
*            DEPLOYMENT_:部署ID
*            NAME_:文件的路径
*       *  说明:
*            可以根据部署ID查询某一个xml文件和图片
*            图片、xml文件与部署是一对一的关系
*    JBPM4_DEPLOYPROP
*       *  表的含义:部署属性表
*/
@Test
public void testDeploy ()
{
processEngine.getRepositoryService()
.createDeployment()
.addResourceFromClasspath("tfy.jpdl.xml")
.addResourceFromClasspath("tfy.png")
.deploy();
}
/**
* 流程实例
* 1、启动流程实例
* 2、完成任务
*  3、各种查询
*      查询没有完成的任务
*      查询已经完成的任务
*  4、整个流程实例非正常结束
* @author Think
*
*/
/**
* 可以根据pdid和pdkey启动流程实例
*  如果是pdkey,那么启动的是最高版本的流程实例
*  涉及到的表
*     JBPM4_EXECUTION
*       *  表的含义:表示正在执行的流程实例
*       *  字段:
*            DBID_:主键
*            ID_:流程实例ID
*            ACTIVITYNAME_:当前流程实例正在活跃的节点
*            PROCDEFID_:流程定义ID
*       *  临时表
*     JBPM4_HIST_PROCINST(process instance)
*       *  表的含义:表示历史的流程实例,当前正在执行的流程实例也在这张表中,但是结束时间(END_为null),状态STATE_为active
*       *  说明:如果整个流程实例结束以后,state_的值为ended
*     JBPM4_TASK
*       *  表的含义:表示正在执行的任务
*       *  字段
*           DBID_:主键、任务ID
*           NAME_:任务的名称
*           ASSIGNEE_:任务的执行人
*       *  说明
*             这个表是一张临时表,只要一个任务结束以后,会从这张表中删除掉
*     JBPM4_HIST_TASK
*       *  表的含义:表示历史的任务,当前正在执行的任务也在该边中,但是结束时间为null,状态state为null
*       *  说明:当一个任务完成以后,这张表中的STATE_的值为completed,结束时间有值了
*     JBPM4_HIST_ACTINST
*       *  表的含义:表示历史的节点  在jbpm中,无论是task,还是state还是其他的点都成为节点,task只是节点的一种
*       *  字段
*          Type:用来标注节点的种类  task
*/
@Test
public void testStartPI(){
processEngine.getExecutionService()
.startProcessInstanceByKey("tfy");
}


/**
* 查询所有的正在执行的任务
*/
@Test
public void TestQueryAllTasks(){
List<Task> taskList=processEngine.getTaskService()
.createTaskQuery()
.list();
for(Task task:taskList){
System.out.println(task.getActivityName());
System.out.println(task.getFormResourceName());
System.out.println(task.getAssignee());
System.out.println(task.getName());
}
}
}

这篇关于把流程定义文档部署到jbpm引擎中的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/849972

相关文章

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

如何在Ubuntu 24.04上部署Zabbix 7.0对服务器进行监控

《如何在Ubuntu24.04上部署Zabbix7.0对服务器进行监控》在Ubuntu24.04上部署Zabbix7.0监控阿里云ECS服务器,需配置MariaDB数据库、开放10050/1005... 目录软硬件信息部署步骤步骤 1:安装并配置mariadb步骤 2:安装Zabbix 7.0 Server

Java操作Word文档的全面指南

《Java操作Word文档的全面指南》在Java开发中,操作Word文档是常见的业务需求,广泛应用于合同生成、报表输出、通知发布、法律文书生成、病历模板填写等场景,本文将全面介绍Java操作Word文... 目录简介段落页头与页脚页码表格图片批注文本框目录图表简介Word编程最重要的类是org.apach

Spring Security中用户名和密码的验证完整流程

《SpringSecurity中用户名和密码的验证完整流程》本文给大家介绍SpringSecurity中用户名和密码的验证完整流程,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定... 首先创建了一个UsernamePasswordAuthenticationTChina编程oken对象,这是S

MySQL之InnoDB存储引擎中的索引用法及说明

《MySQL之InnoDB存储引擎中的索引用法及说明》:本文主要介绍MySQL之InnoDB存储引擎中的索引用法及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录1、背景2、准备3、正篇【1】存储用户记录的数据页【2】存储目录项记录的数据页【3】聚簇索引【4】二

SpringBoot集成LiteFlow工作流引擎的完整指南

《SpringBoot集成LiteFlow工作流引擎的完整指南》LiteFlow作为一款国产轻量级规则引擎/流程引擎,以其零学习成本、高可扩展性和极致性能成为微服务架构下的理想选择,本文将详细讲解Sp... 目录一、LiteFlow核心优势二、SpringBoot集成实战三、高级特性应用1. 异步并行执行2

Python Pillow 库详解文档(最新推荐)

《PythonPillow库详解文档(最新推荐)》Pillow是Python中最流行的图像处理库,它是PythonImagingLibrary(PIL)的现代分支和继承者,本文给大家介绍Pytho... 目录python Pillow 库详解文档简介安装核心模块架构Image 模块 - 核心图像处理基本导入

Android ViewBinding使用流程

《AndroidViewBinding使用流程》AndroidViewBinding是Jetpack组件,替代findViewById,提供类型安全、空安全和编译时检查,代码简洁且性能优化,相比Da... 目录一、核心概念二、ViewBinding优点三、使用流程1. 启用 ViewBinding (模块级

CSS Anchor Positioning重新定义锚点定位的时代来临(最新推荐)

《CSSAnchorPositioning重新定义锚点定位的时代来临(最新推荐)》CSSAnchorPositioning是一项仍在草案中的新特性,由Chrome125开始提供原生支持需... 目录 css Anchor Positioning:重新定义「锚定定位」的时代来了! 什么是 Anchor Pos

SpringBoot整合Flowable实现工作流的详细流程

《SpringBoot整合Flowable实现工作流的详细流程》Flowable是一个使用Java编写的轻量级业务流程引擎,Flowable流程引擎可用于部署BPMN2.0流程定义,创建这些流程定义的... 目录1、流程引擎介绍2、创建项目3、画流程图4、开发接口4.1 Java 类梳理4.2 查看流程图4