Activiti监听器中设置候选人

简介: Activiti监听器中设置候选人

Activiti监听器中设置候选人

delegateTask.setAssignee与delegateTask.addCandidateUser区别

// 指定办理人
delegateTask.setAssignee("zhangsan");

这种表示在task表中设置

image-20231212163016533

但act_run_identityliink表中不会存

image-20231212163139489

设置候选人,可以设置多个

delegateTask.addCandidateUser("张三");

设置多个例如

delegateTask.addCandidateUser("张三");

delegateTask.addCandidateUser("李四");

这种设置task表assignee字段中不会有值,但act_run_identityliink表中会存候选人,且可以设置多个

图中是设置一个的效果

image-20231212163656594

image-20231212163849365

设置候选人后候选人候选人可以认领任务 认领了之后 assignee中就会设置值

例如zhangsan调用taskService.claim(taskId例如:67502, "认领人例如:zhangsan");认领了67502任务,则67502的task表中assignee会设置为zhangsan

import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;

/**
 *个人任务分配监听器
 */
public class UserTaskListener implements TaskListener {
   
   

   private static final long serialVersionUID = 1L;

   public void notify(DelegateTask delegateTask) {
   
   
      // 指定办理人
      // delegateTask.setAssignee("zhangsan");
      // 指定候选人
      delegateTask.addCandidateUser("张三");

//    delegateTask.addCandidateUser("李四");
//    delegateTask.addCandidateUser("王五");

   }

}

设置候选组

image-20231212165950461

组的数据从ACT_ID_GROUP获取,设置成表中name字段的值。 因为Activiti的权限表功能单一,所以一般不建议使用,适用业务自己的权限表。
如果想用,那就同步业务权限数据到Activiti,用户表对应ACT_ID_USER,角色表对应ACT_ID_GROUP,用户角色关系表对应ACT_ID_MEMBERSHIP

目录
相关文章
|
Linux Shell 数据安全/隐私保护
Linux配置代理请求
Linux配置代理请求
362 0
|
安全 API 测试技术
shiro实战系列(十)之Subject
毫无疑问,在 Apache Shiro 中最重要的概念就是 Subject。'Subject'仅仅是一个安全术语,是指应用程序用户的特定 安全的“视图”。一个 Shiro Subject 实例代表了一个单一应用程序用户的安全状态和操作。
1890 0
|
JSON 前端开发 Go
前端文件下载的方式
【10月更文挑战第5天】
368 58
LangChain-24 Agengts 通过TavilySearch Agent实现检索内容并回答 AgentExecutor转换Search 借助Prompt Tools工具
LangChain-24 Agengts 通过TavilySearch Agent实现检索内容并回答 AgentExecutor转换Search 借助Prompt Tools工具
316 1
|
消息中间件 监控 Shell
RocketMQ-初体验RocketMQ(03)_RocketMQ多机集群部署
RocketMQ-初体验RocketMQ(03)_RocketMQ多机集群部署
254 0
|
11月前
|
监控 API 开发者
Sentinel:微服务的全能守护
Sentinel 是阿里巴巴开源的一款轻量级流量控制和熔断降级框架。它通过设置流量控制、熔断降级和系统保护规则,确保微服务在高并发场景下稳定运行。Sentinel 提供丰富的功能、实时监控和灵活的集成方式,适用于各种分布式系统。
1545 0
|
前端开发 JavaScript Java
基于Springboot+SpringSecurity+Activiti7实现的工作流系统可方便二次开发(附完整源码)
基于Springboot+SpringSecurity+Activiti7实现的工作流系统可方便二次开发(附完整源码)
645 0
|
算法 大数据 数据挖掘
数据脱敏技术
【4月更文挑战第24天】数据脱敏可以划分为静态数据脱敏(Static Data Masking, SDM)和动态数据脱敏(Dynamic Data Masking, DDM)技术。
|
测试技术 API 数据处理
深入解析 Laravel 中的集合(Collections)
【8月更文挑战第31天】
507 0
|
存储 缓存 监控
Flink内存管理机制及其参数调优
Flink内存管理机制及其参数调优