camunda流程部署的一些简单操作
act_re_deployment:(流程部署对象表)存放流程部署的显示名和部署时间
act_re_procdef:(流程定义表)存放流程定义的属性信息
act_ge_bytearray:(资源文件表)部署流程文件的存放地,文件以二进制形式存放
act_ge_property:主键生成策略表
/**
* 流程部署
*/
public class ZccRepositoryService {
RepositoryService repositoryService;
@Before
public void init(){
ProcessEngineConfiguration processEngineConfiguration = ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("camunda.cfg.xml");
ProcessEngine processEngine = processEngineConfiguration.buildProcessEngine();
repositoryService = processEngine.getRepositoryService();
System.out.println("repositoryService:"+repositoryService);
} /**
* classpath方式部署
* insert into ACT_RE_DEPLOYMENT(ID_, NAME_, DEPLOY_TIME_, SOURCE_, TENANT_ID_) values(?, ?, ?, ?, ?)
* Parameters: 1801(String), 请假流程(String), 2019-10-09 21:47:34.728(Timestamp), 本地测试(String), a(String)
* insert into ACT_GE_BYTEARRAY( ID_, NAME_, BYTES_, DEPLOYMENT_ID_, GENERATED_, TENANT_ID_, TYPE_, CREATE_TIME_, REV_) values ( ?, ?, ?, ?, ?, ?, ?, ?, 1)
* Parameters: 1802(String), leave.bpmn(String), java.io.ByteArrayInputStream@73c60324(ByteArrayInputStream), 1801(String), false(Boolean), null, 1(Integer), 2019-10-09 21:47:34.892(Timestamp)
* insert into ACT_RE_PROCDEF(ID_, CATEGORY_, NAME_, KEY_, VERSION_, DEPLOYMENT_ID_, RESOURCE_NAME_, DGRM_RESOURCE_NAME_, HAS_START_FORM_KEY_, SUSPENSION_STATE_, TENANT_ID_, VERSION_TAG_, HISTORY_TTL_, STARTABLE_, REV_) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, 1 )
* Parameters: Process_1jgi0yv:1:2603(String), http://bpmn.io/schema/bpmn(String), null, Process_1jgi0yv(String), 1(Integer), 2601(String), leave.bpmn(String), null, false(Boolean), 1(Integer), a(String), null, null, true(Boolean)
* update ACT_GE_PROPERTY SET REV_ = ?, VALUE_ = ? where NAME_ = ? and REV_ = ? Update counts: [1]
*/
@Test
public void createDeployment(){
DeploymentBuilder deploymentBuilder = repositoryService.createDeployment();
Deployment deploy = deploymentBuilder.name("请假流程").source("本地测试").tenantId("a").addClasspathResource("leave.bpmn").deploy();
System.out.println("deploymentBuilder"+deploymentBuilder);
System.out.println("deploy"+deploy); } /**
* 文本方式部署
*/
@Test
public void createDeployment2(){
//DeploymentBuilder addString(String resourceName, String text)
String resourceName="new.bpmn";//资源的名称必须是以bpmn或者bpmn20.xml结尾
String text= IoUtil.fileAsString("leave.bpmn");
DeploymentBuilder deploymentBuilder = repositoryService.createDeployment();
Deployment deploy = deploymentBuilder.name("请假流程").source("本地测试").tenantId("a")
.addString(resourceName,text).deploy();
System.out.println("deploymentBuilder"+deploymentBuilder);
System.out.println("deploy"+deploy); } /**
* 流方式部署
*/
@Test
public void createDeployment3(){
//DeploymentBuilder addInputStream(String resourceName, InputStream inputStream);
String resourceName="new2.bpmn";//资源的名称必须是以bpmn或者bpmn20.xml结尾
InputStream inputStream = ZccRepositoryService.class.getClassLoader().getResourceAsStream("leave.bpmn");
DeploymentBuilder deploymentBuilder = repositoryService.createDeployment();
Deployment deploy = deploymentBuilder.name("请假流程").source("本地测试").tenantId("a")
.addInputStream(resourceName,inputStream).deploy();
System.out.println("deploymentBuilder"+deploymentBuilder);
System.out.println("deploy"+deploy); } /**
* 压缩流方式部署,一次可以部署多个流程
*/
@Test
public void createDeployment4(){
// DeploymentBuilder addZipInputStream(ZipInputStream zipInputStream);
InputStream inputStream = ZccRepositoryService.class.getClassLoader().getResourceAsStream("mybpmn.zip");
ZipInputStream zipInputStream=new ZipInputStream(inputStream);
DeploymentBuilder deploymentBuilder = repositoryService.createDeployment();
Deployment deploy = deploymentBuilder.name("请假流程").source("本地测试").tenantId("a")
.addZipInputStream(zipInputStream).deploy();
System.out.println("deploymentBuilder"+deploymentBuilder);
System.out.println("deploy"+deploy); }
}l
camunda流程部署的一些简单操作的更多相关文章
- Postgresql部署及简单操作
PostgreSQL是一个功能强大的开源对象关系数据库管理系统(ORDBMS),在开源数据库使用上与MySQL各领风骚.但也有不少人质疑postgresql的未来,正所谓,赞扬或批判一种数据库都必须先 ...
- Activiti 流程部署方式 activi 动态部署(高级源码篇)
Activiti的流程 部署方式有很多种方式,我们可以根据activit工作流引擎提供的ap方式进行部署. 当然了实际需求决定你要使用哪一种api操作,后面的总结详细介绍了使用场景. 下面看一下部署方 ...
- Activiti 流程部署方式 activi 动态部署(高级源代码篇)
Activiti的流程 部署方式有非常多种方式,我们能够依据activit工作流引擎提供的ap方式进行部署. 当然了实际需求决定你要使用哪一种api操作,后面的总结具体介绍了使用场景. 以下看一下部署 ...
- activiti 流程部署的各种方式
流程资源可以是各种类型的文件,在启动流程或流程实例运行过程中会被读取.下面介绍常用的流程资源. 一.流程资源 流程定义文件:扩展名为bpmn20.xml和bpmn; 流程定义的图片:用BPMN2.0规 ...
- 【ZooKeeper】ZooKeeper安装及简单操作
ZooKeeper介绍 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.它是一个为分布式应用提供一 ...
- HDFS介绍及简单操作
目录 1.HDFS是什么? 2.HDFS设计基础与目标 3.HDFS体系结构 3.1 NameNode(NN)3.2 DataNode(DN)3.3 SecondaryNameNode(SNN)3.4 ...
- tensorflow笔记:流程,概念和简单代码注释
tensorflow是google在2015年开源的深度学习框架,可以很方便的检验算法效果.这两天看了看官方的tutorial,极客学院的文档,以及综合tensorflow的源码,把自己的心得整理了一 ...
- 四、C#简单操作MinIO
MinIO的官方网站非常详细,以下只是本人学习过程的整理 一.MinIO的基本概念 二.Windows安装与简单使用MinIO 三.Linux部署MinIO分布式集群 四.C#简单操作MinIO He ...
- camunda流程引擎概念术语
前言 本文重点介绍开源流程引擎camunda的核心概念,这些概念同样适用于JBMP.Activiti.Flowable流程引擎,了解这些基本概念和原理,使用流程引擎API将更得心应手. 一.Proce ...
随机推荐
- drf基础
1.什么是编程? 数据结构和算法的结合 2.什么是REST? 同一个功能会产生五花八门的url(把查看单条记录和查看多条记录都看成是一个功能),而且响应回去的数据也没有同一的格式规范,这就造成了前后端 ...
- python 装饰器 第五步(1):带有参数的装饰器
#第五步:带有参数的装饰器 #用于扩展基本函数的函数 def kuozhan(func): #内部函数(扩展之后的eat函数) #5由于调用的时候传了两个参数,未来的eat函数没有参数接收 #5报错的 ...
- Python中单下划线和双下划线
1.双下划线开头和结尾 Python中存在一些特殊的方法,有些方法以双下划线 “__” 开头和结尾,它们是Python的魔法函数,比如__init__()和__str__等等.不用要这种方式命名自己的 ...
- 搭建干净的Mac开发学习环境
docker + linux + gcc/g++ https://www.jianshu.com/p/d113db99fe24 https://www.jianshu.com/p/d26140d20c ...
- five hundred miles
- DB2实例
实例是逻辑数据库管理环境,可以在此环境中对数据库进行编目和设置配置参数.根据需要, 可以在一台服务器上创建多个实例,该服务器为每个实例提供唯一的数据库服务器环境. 默认实例:DB2 显示实例: ...
- js中的相等与逗号运算符用法
/** * 相等运算符 '==',相等则返回true,不等则返回false * - 用 '==' 来比较两个值时,若值的类型不同,则会自动进行类型 * 转换,将其转换为相同的类型然后再进行比较. */ ...
- 面试题:实现call、apply、bind
面试题:实现call.apply.bind 实现bind module.exports = function(Tcontext, ...args) { let globalThis = typeof ...
- Redis数据库总结
1.Redis简介 REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统.Redis是一个开源的使用ANSI ...
- java 数组的定义
package java03; /* 数组的初始化:就是创建一个数组,并向其中古语一些默认的值 两种常见的初始化方式: 1.动态初始化(指定长度) 2.静态初始化(指定内容) 动态初始化数组格式: 数 ...