Flowable监听器

这篇具有很好参考价值的文章主要介绍了Flowable监听器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


  • 本人最近在找工作,有推荐的小伙伴私我,不胜感激。

一、执行监听器

1、可以监听的节点

  • 开始、结束节点
  • 连线节点
  • 节点的开始和结束
  • 网关的开始和结束
  • 中间事件的开始和结束
  • 开始时间结束或结束事件开始

2、添加事件监听器配置

  • Event事件
    • start 开始
    • take 启用
    • end 结束
  • 类型
    • 类:Class:com.sgp.StartListeners
      • 类名全限定
      • 监听器类上无论是否添加注入@C/S,也只能注入Flowable中的Bean
    • 表达式:Expression
    • 委托表达式:Delegate expression:${startListeners}
      • 监听器类的bean name
      • 监听器类上添加@C/S,既能注入Flowable中的Bean,也能注入Spring管理的Bean
        参数

3、具体实现

@Component
public class ProcessEndLister implements ExecutionListener {
    @Resource
    private RuntimeService runtimeService;

    @Override
    public void notify(DelegateExecution delegateExecution) {
        //delegateExecution.getProcessInstanceId();
        //delegateExecution.getProcessInstanceBusinessKey();
        //Object delegateExecution.getVariable(String variableName);
    }
}

二、任务监听器

1、可以监听的节点

  • 用户任务UserTask节点

2、添加任务监听器配置

  • Event事件
    • assignment:任务被委派给某人后触发(create之前触发)
    • create:任务创建时,并且所有的任务属性设置完成后 触发
    • complete:任务完成后,从运行时数据(runtime data)中删除前触发
    • delete:在任务将要被删除之前发生(当任务通过completeTask完成任务时,它也会被执
      行)
  • 类型
    • 类:Class:com.sgp.StartListeners
      • 类名全限定
      • 监听器类上无论是否添加注入@C/S,监听器中只能注入Flowable中的Bean
    • 表达式:Expression
    • 委托表达式:Delegate expression: ${startListeners}
      • 监听器类的bean name
      • 监听器类上添加@C/S,既能注入Flowable中的Bean,也能注入Spring管理的Bean
  • 参数

3、具体实现

@Component
public class ProcessTaskNoticeLister implements TaskListener {

    //注入参数
    //添加属性FixedValue,param对应<flowable:field name="param"
    //获取参数值Sting param.getExpressionText();
    private FixedValue param;
    
    @Autowired
    private RuntimeService runtimeService;

    @Override
    public void notify(DelegateTask delegateTask) {
        //1、环境信息
        //流程id
        String delegateTask.getProcessInstanceId();
        
        //任务指定人信息
        String delegateTask.getAssignee();
        
        //该任务xml id 
        String  delegateTask.getTaskDefinitionKey();
        
        //该任务名称
        String  delegateTask.getName();
        
        //该任务的人员信息
        Set<IdentityLink>  delegateTask.getCandidates();

        //添加、删除候选人
        delegateTask.deleteCandidateUser(String userId);
        delegateTask.deleteUserIdentityLink(String userId, String identityLinkType);

        //不设置identityLinkType时,默认=candidate
        delegateTask.addCandidateUser(String userId);
        delegateTask.addCandidateUsers(Collection<String> candidateUsers);
        delegateTask.addUserIdentityLink(String userId, String identityLinkType);
        
        //添加、删除候选组
        delegateTask.deleteCandidateGroup(String groupId);
        delegateTask.deleteGroupIdentityLink(String groupId, String identityLinkType);

        //不设置identityLinkType时,默认=candidate
        delegateTask.addCandidateGroup(String groupId);
        delegateTask.addCandidateGroups(Collection<String> candidateGroups);
        delegateTask.addGroupIdentityLink(String groupId, String identityLinkType);
        
        //2、流程变量
        //单个变量获取
        Object varValue=delegateTask.getVariable(String key);

        //所有变量key、value
        Map<String, Object>variables= delegateTask.getVariables();
        
        //所有变量key
        Set<String> setNames=delegateTask.getVariableNames();
        
        //修改变量值
        delegateTask.setVariable("name","kimi");
    }
}

文章来源地址https://www.toymoban.com/news/detail-594747.html

到了这里,关于Flowable监听器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Listener监听器----HttpServletRequest对象的生命周期监听器

    一、HttpServletRequest对象的生命周期监听器         ServletRequestListener接口定义了ServletRequest(是HttpServletRequest接口的父接口类型)对象生命周期的监听行为。 void requestInitialized(ServletRequestEvent sre)         HttpServletRequest对象创建后会触发该监听器方法,并将已创建HttpServletR

    2024年01月23日
    浏览(47)
  • 消息监听器和消息监听容器

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 消息监听器顾名思义用来接收消息,它是使用消息监听容器的必须条件。目前有8个消息监听器: 使用自动提交或容器管理的提交方法之一,处理从 Kafka 消费者 p

    2024年02月07日
    浏览(39)
  • Android手势监听、触摸监听器、onTouchListener

    一次点击事件(onClickListener)由 一次down事件,多次move事件和一次up事件构成,move事件出现的次数由用户的按压效果决定。down表示手势事件开始,up表示结束,move则代表着过程。此时代码中onTouchLishtener方法中返回的结果为ture,则表示拦截用户的该次行为,由此方法进行处理

    2024年02月04日
    浏览(33)
  • watch监听器三种监听方式

    1、普通监听( 无法监听到第一次绑定的变化 ) 这样使用watch时有一个特点,就是当值第一次绑定的时候,不会执行监听函数,只有值发生改变才会执行。 2、普通监听( 可以监听到第一次绑定的变化) 给 text 绑定了一个handler方法,之前我们写的 watch 方法其实默认写的就是

    2024年02月15日
    浏览(30)
  • 认识监听器(Listener)

    监听器是什么? 监听器(Listener)是一种运行在后台的程序,它主要用于监控某些事件在系统中的发生,并且根据这些事件做一些特定的处理。在Web应用程序中,监听器可以观察ServletContext、HttpSession以及ServletRequest等对象的变化,以便于在这些对象变化时进行相应的处理。监

    2024年02月02日
    浏览(26)
  • SpringBoot 监听器

    Spring的监听器也可以说是一种观察者模式,它能实现事件与事件监听者直接的解耦,在Spring中监听器的实现主要有一下重要组件: ApplicationListener:事件监听者,观察者; ApplicationEvent:Spring 事件,记录事件源、事件内容、时间等数据; 有些场景事件主体主要是String或基本类

    2024年02月09日
    浏览(29)
  • Servlet的监听器

    Servlet常用的监听器 ServletContextAttributeListener 用来感知 ServlerContext 对象属性变化,比如添加或删除属性变化 ServletContextListener 用来感知 ServlerContext 对象的创建和销毁的 ServletRequestListener 可以用来监听感知 ServletRequest 对象的创建和销毁的 ServletRequestAttributeListener 用来感知 Serv

    2024年02月17日
    浏览(32)
  • 【JavaWeb】9—监听器

    ⭐⭐⭐⭐⭐⭐ Github主页👉https://github.com/A-BigTree 笔记链接👉https://github.com/A-BigTree/Code_Learning ⭐⭐⭐⭐⭐⭐ 如果可以,麻烦各位看官顺手点个star~😊 如果文章对你有所帮助,可以点赞👍收藏⭐支持一下博主~😆 可见Java设计模式中的观察者模式。 观察者:监控『被观察者』

    2023年04月09日
    浏览(31)
  • 计算属性和监听器

    计算属性是Vue中非常常用的一个概念,它能够根据现有的数据直接生成一个新的数据进行展示和操作。在Vue的实例中,可以使用 computed 来定义计算属性。 例如,我们有一个Vue实例 vm ,其中有一个数据 message ,我们可以通过计算属性 reversedMessage 来生成消息的反转字符串: 在

    2024年02月15日
    浏览(27)
  • Kafka 监听器详解

    Kafka Assistant 是一款 Kafka GUI 管理工具——管理Broker,Topic,Group、查看消费详情、监控服务器状态、支持多种消息格式。 你需要将 advertised.listeners (如果你使用Docker镜像,则为 KAFKA_ADVERTISED_LISTENERS )设置为外部地址(host/IP),以便客户端可以正确地连接到它。否则,他们会尝试

    2024年02月06日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包