activiti7的ProcessRuntime用法

参考activiti7的repositoryService的用法就行,ProcessRuntime用起来更加方便

import org.activiti.api.model.shared.model.VariableInstance;
import org.activiti.api.process.model.ProcessInstance;
import org.activiti.api.process.model.builders.ProcessPayloadBuilder;
import org.activiti.api.process.runtime.ProcessRuntime;
import org.activiti.api.runtime.shared.query.Page;
import org.activiti.api.runtime.shared.query.Pageable;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

import java.util.List;


@SpringBootTest
public class Test08ProcessRuntime {

    @Autowired
    private ProcessRuntime processRuntime;

    @Autowired
    private SecurityUtil securityUtil;

    /**
     * 使用新版api获取流程实例
     */
    @Test
    public void getInfo111() {
        securityUtil.logInAs("bajie");
        //获取前100个分页流程实例
        Page<ProcessInstance> processInstancePage =
                processRuntime.processInstances(Pageable.of(0, 100));
        System.out.println(processInstancePage.getTotalItems());
        List<ProcessInstance> list = processInstancePage.getContent();
        for (ProcessInstance p : list) {
            System.out.println(p.getId());
        }

    }

    /**
     * 启动流程实例
     */
    @Test
    public void getInfo222() {
        securityUtil.logInAs("bajie");
        processRuntime.start(ProcessPayloadBuilder.start()
                .withProcessDefinitionKey("myProcess_runtime")
                .withName("第一个流程实例")
                .withBusinessKey("自定义业务key")
                .build());
    }

    /**
     * 删除流程实例
     */
    @Test
    public void getInfo333() {
        securityUtil.logInAs("bajie");
        processRuntime.delete(ProcessPayloadBuilder
                .delete()
                .withProcessInstanceId("instanceId").build());
    }

    /**
     * 挂起流程实例
     */
    @Test
    public void getInfo444() {
        securityUtil.logInAs("bajie");
        processRuntime.suspend(ProcessPayloadBuilder.suspend()
                .withProcessInstanceId("instanceId")
                .build());
    }

    /**
     * 激活流程实例
     */
    @Test
    public void getInfo555() {
        securityUtil.logInAs("bajie");
        processRuntime.resume(ProcessPayloadBuilder.resume()
                .withProcessInstanceId("instanceId")
                .build());
    }

    /**
     * 流程实例参数
     */
    @Test
    public void getVariable() {
        securityUtil.logInAs("bajie");
        List<VariableInstance> list = processRuntime.variables(ProcessPayloadBuilder
                .variables()
                .withProcessInstanceId("instanceId").build());
        for (VariableInstance vi : list) {
            System.out.println(vi.getName());
        }
    }
}
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值