登录
首页 >  数据库 >  MySQL

Activiti7工作流+idea2021监听器法器的使用

来源:SegmentFault

时间:2023-02-24 21:52:51 216浏览 收藏

大家好,今天本人给大家带来文章《Activiti7工作流+idea2021监听器法器的使用》,文中内容主要涉及到MySQL、工作流、spring、后端、activiti,如果你对数据库方面的知识点感兴趣,那就请各位朋友继续看下去吧~希望能真正帮到你们,谢谢!

法器

宝贝宝贝转过身来

  • 4、监听器
    工作流的开头都是创建bpmn文件,注意一点细节问题:需要加监听器了
    首先我们得有一个监听器

    package listener;
    
    import org.activiti.engine.delegate.*;
        public class MyTaskListener implements TaskListener {
         public void notify(DelegateTask delegateTask) {
                //delegateTasK是当前任务的对象
                    //默认是create事件
                    if("创建申请".equals(delegateTask.getName()) &&
                            "create".equals(delegateTask.getEventName())){
                        delegateTask.setAssignee("张三");
                    }
                }
        }
    

    然后呢启动Camunda Modele,也就是我之前文章放的那个链接,解压后就可以用了。为什么用它而不使用插件呢,因为插件里面根本没有监听器,在填完阶段的基本信息后(也就是id和name),找到Listeners,点击Execution是全局,Task是活动阶段,点击加号创建一个监听器,默认是create创建时监听,下面的Java Class就是监听器的包放置位置。我放的很简单

    image.png

    image_1.png

    构建好之后将这个流程导出来,这是一张图该怎么导成bpmn文件呢?
    image_2.png

    点击xml文件,如果下面没有这两个选项点击log打开菜单,复制粘贴或者直接另存为,另存为文件的时候默认xml格式的,需要改成bpmn文件格式
    image_3.png

    导进idea之后会报错:
    image_4.png

    如果删了呢,会有更多错误。
    image_5.png

    这里就有一个坑:
    idea跟Camunda Modeler不兼容的问题,其实就是一个camunda标签的问题,idea里面是没有的,将他全部改成activiti就可以了,然后正常走流程看效果:

    ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
    RepositoryService repositoryService = processEngine.getRepositoryService();
    Deployment deploy = repositoryService.createDeployment()
                    .name("测试监听器")
                    .addClasspathResource("bpmn/demo-listen.bpmn")
                    .addClasspathResource("bpmn/testListener.bpmn20.png")
                    .deploy();
    

    定义好之后数据表会有信息

    • act_re_procdef表结果:
      image_6.png

      启动流程:

    ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
    RuntimeService runtimeService = processEngine.getRuntimeService();
    runtimeService.startProcessInstanceByKey("testListener");
    
    • ACT_RU_TASK结果图
      image_7.png

      果真是一件好宝贝

理论要掌握,实操不能落!以上关于《Activiti7工作流+idea2021监听器法器的使用》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表