随笔 - 21  文章 - 0  评论 - 1  阅读 - 19989

Activiti工作流笔记(3)

Activiti工作流的流程部署和删除流程部署

流程部署代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
/**
 * 部署流程
 */
public class ActivitiTest {
     
    RepositoryService repositoryService;
     
    RuntimeService runtimeService;
 
    @Before
    public void setUp() throws Exception {
        //获取流程引擎,配置文件必须命名为activiti.cfg.xml
        ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
        //获取流程定义
        repositoryService = processEngine.getRepositoryService();
        //获取运行时
        runtimeService = processEngine.getRuntimeService();
    }
 
    /**
     * 第一种部署流程方式
     * select * from act_re_deployment;-- 部署信息表
     * select * from act_ge_bytearray;-- 二进制数据表
     * select * from act_re_procdef;-- 流程定义数据表
     * 如果key相同,再次部署会在原有的key的流程上做版本的累加,版本号+1
     * 如果key不同,再次部署,版本号从1开始
     */
    @Test 
    public void deployActiviti(){ 
        //创建部署对象
        DeploymentBuilder deploymentBuilder = repositoryService.createDeployment();
        //加载流程的配置文件和图片
        deploymentBuilder.addClasspathResource("diagrams/activiti.bpmn")
                .name("申请事假")
                .category("申请")
                .addClasspathResource("diagrams/activiti.png");
        //部署流程
        deploymentBuilder.deploy();
    
 
    /**
     * 第二种流程部署方式,使用zip压缩包方式部署流程
     */
    @Test 
    public void deployActivitiWithZip(){ 
        //创建部署对象
        DeploymentBuilder deploymentBuilder = repositoryService.createDeployment();
        InputStream in = this.getClass().getClassLoader().getResourceAsStream("diagrams/activiti.zip");
        ZipInputStream zipInputStream = new ZipInputStream(in);
         
        //加载流程的配置文件和图片
        deploymentBuilder.addZipInputStream(zipInputStream)
                .name("申请事假")
                .category("申请");
        //部署流程
        deploymentBuilder.deploy();
    }
     
    /**
     * 删除流程部署
     */
    @Test 
    public void deleteActivitiDeploy(){
        //如果流程已经启动,那么删除会报错
        //repositoryService.deleteDeployment("201");相当于deleteDeployment("201", false)
        //级联删除:是:true   否:false
        //false:有正在运行流程是删除会报错<br>       //true:有正在运行流程也会被删除
        repositoryService.deleteDeployment("201", true);
    }
     
}

执行deployActiviti:

1
2
3
4
5
6
7
insert into ACT_RE_DEPLOYMENT(ID_, NAME_, CATEGORY_, DEPLOY_TIME_) values(?, ?, ?, ?) > <br>Parameters: 1(String), 申请事假(String), 申请(String), 2017-02-17 10:21:56.156(Timestamp)>
 
insert into ACT_GE_BYTEARRAY(ID_, REV_, NAME_, BYTES_, DEPLOYMENT_ID_, GENERATED_) values (?, 1, ?, ?, ?, ?) > <br>Parameters: 2(String), diagrams/activiti.bpmn(String), java.io.ByteArrayInputStream@940b84(ByteArrayInputStream), 1(String), false(Boolean)>
 
insert into ACT_GE_BYTEARRAY(ID_, REV_, NAME_, BYTES_, DEPLOYMENT_ID_, GENERATED_) values (?, 1, ?, ?, ?, ?) > <br>Parameters: 3(String), diagrams/activiti.png(String), java.io.ByteArrayInputStream@1a5ec6c(ByteArrayInputStream), 1(String), false(Boolean)>
 
insert into ACT_RE_PROCDEF(ID_, REV_, CATEGORY_, NAME_, KEY_, VERSION_, DEPLOYMENT_ID_, RESOURCE_NAME_, DGRM_RESOURCE_NAME_, DESCRIPTION_, HAS_START_FORM_KEY_, SUSPENSION_STATE_) values (?, 1, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) > <br>Parameters: activiti_leave:1:4(String), http://www.activiti.org/test(String), 请假(String), activiti_leave(String), 1(Integer), 1(String), diagrams/activiti.bpmn(String), diagrams/activiti.png(String), null, false(Boolean), 1(Integer)>

部署流程操作的表:

act_re_deployment --部署信息表

act_ge_bytearray --二进制数据表

act_re_procdef  --流程定义数据表

 

posted on   天涯明月夜  阅读(213)  评论(0编辑  收藏  举报
编辑推荐:
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
· .NET 适配 HarmonyOS 进展
· .NET 进程 stackoverflow异常后,还可以接收 TCP 连接请求吗?
阅读排行:
· 本地部署 DeepSeek:小白也能轻松搞定!
· 基于DeepSeek R1 满血版大模型的个人知识库,回答都源自对你专属文件的深度学习。
· 在缓慢中沉淀,在挑战中重生!2024个人总结!
· 如何给本地部署的DeepSeek投喂数据,让他更懂你
· 大人,时代变了! 赶快把自有业务的本地AI“模型”训练起来!
< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

点击右上角即可分享
微信分享提示