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 ...
随机推荐
- mybatis分页插件使用
一:导入依赖 <!--分页插件--> <dependency> <groupId>com.github.pagehelper</groupId> < ...
- Android深度探索-卷1第三章心得体会
第三章整章介绍了git,git是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常大的项目版本管理.通过配置git后可以很方便的找到需要的资源,更多的是代码和包,可以在本地建立版本库,为了 ...
- js获取下拉框的value值
var Resultstr=""; var param = { action: "MoneyList" };//参数拼接 $.ajax({ type: &quo ...
- Python 学习笔记12 函数模块
函数的优点之一,使用它们可将代码块与主程序分离.通过给函数指定描述性的名称.可以让主程序非常好理解.但是如果将过多的函数和主程序放置在一起,会让文件显得非常凌乱.太多的代码混杂在一起,不方便管理.我们 ...
- javaIO流(二)--字节流与字符流
一.流的基本概念 在java.io包中,File类是唯一一个与文件本身有关的程序处理类,但是File类只能操作文件本身,而不能操作文件内容,IO操作的核心意义在于输入和输出操作.而对于程序而言,输入和 ...
- mongo数据库基本查询语句
D:\MongoDB\Server\3.4\bin>mongo MongoDB shell version v3.-g83c3022fe4 connecting to: mongodb://12 ...
- ES6/ES2015核心内容 import export
ES6/ES2015核心内容:https://www.cnblogs.com/doit8791/p/5184238.html Javascript ES6学习 import export https ...
- BZOJ 2724蒲公英 (分块) 【内有块大小证明】
题面 luogu传送门 分析 先分块,设块大小为x(之后我们会证明块大小取何值会更优) 步骤1 把所有的数离散化,然后对每个值开一个vector pos[i],pos[i]存储数i出现的位置 我们设查 ...
- ELK+filebeat+redis 日志分析平台
一.简介 ELK Stack是软件集合Elasticsearch.Logstash.Kibana的简称,由这三个软件及其相关的组件可以打造大规模日志实时处理系统. 其中,Elasticsearch 是 ...
- python面试题之有没有一个工具可以帮助查找python的bug和进行静态的代码分析?
pycheck pylint 本文首发于python黑洞网,博客园同步更新