流程引擎(flowable)之用户任务

代码示例:查询一个任务并审批

Task task = configuration.getTaskService().createTaskQuery().taskAssignee("kermit").singleResult();
            if(StringUtils.isBlank(task.getAssignee())){
                //认领任务
                configuration.getTaskService().claim(task.getId(),"kermit");
                //取消认领任务
                //configuration.getTaskService().unclaim(kermit.getId(),"zhangpf");
            }
						//设置当前用户ID,若不设置在插入Comment时数据表userid字段为null
            Authentication.setAuthenticatedUserId("kermit"); 
						//添加审批意见
            configuration.getTaskService().addComment(task.getId(), task.getProcessInstanceId(), "打招呼", "vx你有吗");
            //提交任务
            configuration.getTaskService().complete(task.getId());

注意事项:Authentication.setAuthenticatedUserId(“kermit”)是设置当前用户ID(真实的生产环境需要考虑此代码的写入时机),若不设置在插入Comment时数据表userid字段为null,底层其实维护了一个ThreadLocal。具体源码如图。Comment插入只是其中一种获取当前用户的情况,按照acrtiviti的思想应当在在流程引擎中维护当前用户id信息。

在这里插入图片描述
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值