Activiti流程定义

流程定义

  • 流程定义:法律
  • 流程实例:具体案例

流程与流程图部署

public class ImgTest {
    public static void main(String[] args) {
        ProcessEngine engine = ProcessEngines.getDefaultProcessEngine();
        RepositoryService rs  = engine.getRepositoryService();
        DeploymentBuilder builder = rs.createDeployment();
        builder.addClasspathResource("test2.bpmn");
        builder.deploy();
    }
}

取消创建流程图

//在activiti.cfg.xml配置文件中添加
<property name="createDiagramOnDeploy" value="false"/>

中止与激活流程定义

  • suspendProcessDefinitionByXXXX
  • activateProcessDefinitionByXXXX
public class ActiveTest {
    public static void main(String[] args) {
        ProcessEngine engine = ProcessEngines.getDefaultProcessEngine();
        RepositoryService rs  = engine.getRepositoryService();
        DeploymentBuilder builder = rs.createDeployment().addClasspathResource("test3.bpmn");
        Deployment deploy = builder.deploy();

        ProcessDefinition def = rs.createProcessDefinitionQuery().deploymentId(deploy.getId()).singleResult();
        System.out.println("id"+def.getId());
        rs.suspendProcessDefinitionByKey(def.getKey());
        //将会抛出异常,因为流程定义被中止了
        RuntimeService runService  =engine.getRuntimeService();
        runService.startProcessInstanceByKey(def.getKey());
    }
}

流程定义权限

public class AuthTest {
    public static void main(String[] args) {
        // 创建流程引擎
        ProcessEngine engine = ProcessEngines.getDefaultProcessEngine();
        // 得到流程存储服务实例
        RepositoryService rs = engine.getRepositoryService();
        // 得到身份服务组件
        IdentityService is  = engine.getIdentityService();
        //保存用户
        User user = is.newUser(UUID.randomUUID().toString());
        user.setFirstName("Angus");
        is.saveUser(user);
        //部署流程描述文件
        Deployment deploy = rs.createDeployment().addClasspathResource("test3.bpmn").deploy();
        //查询流程定义实体
        ProcessDefinition def  = rs.createProcessDefinitionQuery().deploymentId(deploy.getId()).singleResult();
        //设置用户组与流程定义的关系(设置权限)
        rs.addCandidateStarterUser(def.getId(),user.getId());

        List<ProcessDefinition> defs  = rs.createProcessDefinitionQuery().startableByUser(user.getId()).list();
        for (ProcessDefinition de : defs){
            System.out.println(de.getId());
        }
    }
    /**
     * 打印结果:
     * myProcess_1:15:67504
     */
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值