当前位置: 首页 > news >正文

flowable03任务

RecieveTask : 接收任务

用来等待外部消息或者信号回来 触发流程继续==》 比如等待支付结果,等待第三方系统回调
recieveTask需要触发一下,,才会往下执行

  @Testpublic void test06(){RuntimeService runtimeService = processEngine.getRuntimeService();List<Execution> list = runtimeService.createExecutionQuery().activityId("sid-3B12C948-9846-4629-81F1-415B7313F035").list();for (Execution execution : list) {logger.info(execution.getId());// 触发往下执行 ===》 接收任务: 等待外部消息或者信号回来触发流程继续,,,比如等待支付结果,等待第三方系统回调灯runtimeService.trigger(execution.getId());}}
用户任务
  1. 直接指定变量
  2. 设置发起人 就是 用户任务的执行人
  3. 绑定监听器来设置 执行人

处理任务:委派给别人处理 或者 自己处理

    @Testpublic void test07(){TaskService taskService = processEngine.getTaskService();List<Task> list = taskService.createTaskQuery().taskAssignee("ww").list();for (Task task : list) {logger.info("name:{},assignee:{}", task.getName(), task.getAssignee());// 自己处理
//            taskService.complete(task.getId());// 委派给别人处理taskService.setAssignee(task.getId(),"waterkid");}}

可以动态指定执行人,,,也可以不指定执行人,,,设置候选用户,,候选用户去接收任务之后,才会变成执行人

查找作为候选人的任务:

 @Testpublic void test09(){TaskService taskService = processEngine.getTaskService();List<Task> taskList = taskService.createTaskQuery().taskCandidateUser("wwww").list();for (Task task : taskList) {logger.info("name:{},CreateTime:{}", task.getName(), task.getCreateTime());}}

查找某个流程实例的参与人有哪些:

   @Testpublic void test10(){TaskService taskService = processEngine.getTaskService();RuntimeService runtimeService = processEngine.getRuntimeService();// 获取流程的参与者List<IdentityLink> links = runtimeService.getIdentityLinksForProcessInstance("45001");for (IdentityLink link : links) {logger.info("流程参与人:{}",link.getUserId());}}

任务认领:

 // 任务认领
taskService.claim(task.getId(),"wwww");// 取消任务认领taskService.setAssignee(task.getId(),null);// 委派给别人处理
taskService.setAssignee(task.getId(),"waterkid");// 自己处理taskService.complete(task.getId());

候选人也可以通过变量和监听器来赋值,,如果是直接通过变量,设置的时候用,分割多个用户,,
监听器通过delegateTask.addCandidateUser("xxx")

// 删除候选人:
taskService.deleteCandidateUser(task.getId(),"xxx")// 添加候选人
taskService.addCandicateUser(task.getId,"xxxx)
按照角色来获取任务,,,设置候选组

找到这个候选组的任务List<Task> taskList = taskService.createTaskQuery().taskCandidateGroup("xxx").list();, 找到之后,,就能通过taskServicetaskId委派,认领,完成撤销任务等

候选组也可以通过变量传入

ServiceTask 服务任务

直接执行的任务: 可以直接指定全限定类名,也可以指定委托表达式,什么是委托表达式???,
委托表达式: delegate expression : 返回了一个实现JavaDelegate 或者 ActivityBehavior接口的bean,
委托表达式通过表达式从spring容器中获取Bean,,因此可以使用依赖注入,而且也不用写死类名
而java类是直接制定一个完整的类名,,Flowable会反射实例化这个类,,这个类不需要spring管理,,因此不能使用spring的依赖注入

也可以通过指定表达式来指定,某个spring对象的某个方法:

在这里插入图片描述

http://www.dtcms.com/a/598579.html

相关文章:

  • 手机软件网站京东网页版
  • 国外网站设计大全营销业务应用系统
  • 每日算法刷题Day84:11.11:leetcode 动态规划9道题,用时2h
  • 网站建设开发设计营销公司山东建设网站平台合同范本
  • 网站建设玖金手指谷哥四网站对一个关键词做排名怎么做
  • Windows 系统上安装 Kafka
  • 不成立公司怎么做企业网站php网站开发占比
  • 机加工如何用网站开发客户php实现网站消息推送
  • 百日挑战——单词篇(第十九天)
  • RabbitMQ 小项目之扫盲班
  • 自己如何在网上做网站黄页88网企业名录
  • 信宜做网站动漫制作专业就业方向
  • 国外网站会让国内人做吗ts431p 做网站
  • 酒店网站制作公司企业网站要怎么建设
  • 微信开发网站制作宣传片拍摄报价明细
  • 鹤山市住房和城乡建设局网站深圳做网页
  • LayUI基础入门
  • 56_AI智能体运维部署之实战指南:编写生产级docker-compose部署脚本
  • 公司制作一个网站价格全屋定制一般多少钱
  • 做网站为什么要租服务器广西来宾网站网站建设
  • 制作免费网站微信公众号开发流程图
  • K8S Base: CrashLoopBackOff
  • 《Python 小程序编写系列》(第三部):简易文件批量重命名工具
  • 建设信息门户网站的条件广州设计网站公司
  • 国内做网站的大公司有哪些歌手投票网站怎么做
  • 【系统分析师】2025年下半年真题:案例分析-答案及详解(回忆版)
  • 关系数据库小测练习笔记(1)
  • 门源县电子商务网站建设公司在线短网址生成工具
  • 河南商务学校网站建设污染网站代码
  • 毕业设计做一个网站怎么做网站模板双语