Springboot集成工作流Activity

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

介绍

官网:https://www.activiti.org/

一 、工作流介绍

1.工作流(workflow)
就是通过计算机对业务流程自动化执行管理,它主要解决的是“使在多个参与这之间按照某种预定义规则自动化进行传递文档、信息或任务的过程,从而实现某个预期的业务目标,或者促使目标的实现。”

2.BPM
BPM(Business Process Management),即业务流程管理,是一种规范化的构造端到端的业务流程,以持续的提高组织业务效率,常见商业管理如EMBA、MBA等均将BPM包含在内。

3.使用步骤
部署Activiti

Activiti是一个工作流引擎(其实就是一堆jar包API),业务系统访问(操作)activiti的接口,就可以方便的操作流程相关数据,这样就可以把工作流环境与业务系统的环境集成在一起。

流程定义

使用activiti流程建模工具(activiti-designer)定义业务流程(.bpmn文件)。

.bpmn文件就是业务流程定义文件,通过xml定义业务流程。

流程定义部署

activiti部署业务流程定义(.bpmn文件)。使用activiti提供的api把流程定义内容存储起来,在activiti执行过程中可以查询定义的内容,activiti执行把流程定义内容存储在数据库中。

启动一个流程实例

启动一个流程实例表示开始一次业务流程的运行。流程实例之间互不影响。

二、SpringBoot集成Activiti

1.项目环境
项目依赖

  <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.72</version>
        </dependency>


        <dependency>
            <groupId>org.activiti</groupId>
            <artifactId>activiti-spring-boot-starter</artifactId>
            <version>7.1.0.M6</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>

        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.4.3.4</version>
        </dependency>

yaml项目配置

mybatis:
    mapper-locations: classpath:mappers/*xml
    type-aliases-package: com.activiti.mybatis.entity
    configuration:
        map-underscore-to-camel-case: true
        log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
server:
    port: 8082

spring:
    application:
        name: activiti
    datasource:
        driver-class-name: com.mysql.cj.jdbc.Driver
        name: activitiDataSource
        password: 'root'
        url: jdbc:mysql://localhost:3306/activiti?serverTimezone=UTC
        username: 'root'

创建数据库:activiti
2.在idea中可以安装Activiti BPMN visualizer
Springboot集成工作流Activity
3.java配置

activiti-spring-boot默认集成了spring security用于权限管理如需禁用security启动类中屏蔽ActivitiSpringIdentityAutoConfiguration,再增加一个配置类即可 Application中禁用权限相关集成。

import org.activiti.core.common.spring.identity.config.ActivitiSpringIdentityAutoConfiguration;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication(exclude = {ActivitiSpringIdentityAutoConfiguration.class})
public class ActivitiApplication {

   public static void main(String[] args) {
       SpringApplication.run(ActivitiApplication.class, args);
  }

}

增加配置类ActivitiSpringIdentityAutoConfiguration,其中有三个方法在源码中并未查询到引用暂时不处理。

import org.activiti.api.runtime.shared.identity.UserGroupManager;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.util.ArrayList;
import java.util.List;

@Configuration
public class ActivitiSpringIdentityAutoConfiguration {

   @Bean
   public UserGroupManager userGroupManager() {
       return new UserGroupManager() {
           @Override
           public List<String> getUserGroups(String s) {
               return new ArrayList<>();
          }
           @Override
           public List<String> getUserRoles(String s) {
               return null;
          }
           @Override
           public List<String> getGroups() {
               return null;
          }
           @Override
           public List<String> getUsers() {
               return null;
          }
      };
  }

}

启动服务,mysql数据库中activiti库中自动添加activiti相关表。
Springboot集成工作流Activity
三. 画一个简单的流程图
1.新建bpmn文件
Springboot集成工作流Activity
2.确定之后会自动生成一个xml文件
Springboot集成工作流Activity
3.在文件的任意位置点击右键:view bpmn(Activiti)Diagram
Springboot集成工作流Activity

4.打开可视化编辑器,右键start events –>start event画一个开始事件
Springboot集成工作流Activity文章来源地址https://www.toymoban.com/news/detail-412484.html

  1. 测试
@SpringBootTest
class ActivitiApplicationTests {

    @Test
    public void deployProcess() {
        ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
        RepositoryService repositoryService = processEngine.getRepositoryService();
        Deployment deploy = repositoryService.createDeployment().addClasspathResource("bpmn/demo1.bpmn20.xml").deploy();
        System.out.println(deploy.getId());
    }
}

  1. 运行结果
    Springboot集成工作流Activity
    Springboot集成工作流Activity
    数据库已经自动更新,至此开发环境搭建完成。

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

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

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

相关文章

  • Activity工作流(一):环境搭建

    开发环境: activiti 5.22.0 jdk 1.8 mysql 5.6 tomcat 8.5 注意,activiti需要在数据库里创建表,可以在官网下载源码安装包,里面有数据库的表。或者通过java代码自动创建表。所以1.1和1.2节中的方法二选一即可。 https://www.activiti.org/download-links 在这里插入图片描述 本教程使用的是5.22.

    2023年04月26日
    浏览(43)
  • 【工作流】Activiti工作流简介以及Spring Boot 集成 Activiti7

    什么是工作流? 工作流指通过计算机对业务流程进行自动化管理,实现多个参与者按照预定义的流程去自动执行业务流程。 文章源码托管:https://github.com/OUYANGSIHAI/Activiti-learninig Activiti5是由Alfresco软件在2010年5月17日发布的业务流程管理(BPM)框架,它是覆盖了业务流程管理、

    2024年02月08日
    浏览(39)
  • Flowable工作流入门&完整SpringBoot案例

    工作流(Workflow),是指对于一项业务,按照规定的流程,逐级传递、申请、执行等,并且受到了严格控制的一种业务过程。 BPM(Business Process Management)是指对于某项业务的整个生命周期进行全面管理的一种模式,最核心的内容包括了工作流、决策、交互等。在这些管理过程

    2024年02月12日
    浏览(32)
  • 若依框架SpringBoot+Activiti工作流的使用

    使用简介:本技术点主要是针对类审批的业务流程的建模,可以有:任务发布(即流程开始)到一级一级的审批到最终结束(即流程结束)一整套完备的模型 1、idea下载activiti插件 ider以前版本下载actiBPM,但是新版ider这个插件已经被淘汰,已经被下面这个替代     2、单独起

    2024年02月11日
    浏览(30)
  • Springboot整合Camunda工作流引擎实现审批流程实例

    环境:Spingboot2.6.14 + camunda-spring-boot-starter7.18.0 依赖配置 应用程序配置 通过上面的配置后访问控制台: http://localhost:8100/workflow/ 默认是没有上面的tasks中的内容,这里是我之前测试数据 环境准备好后,接下来就可以设计工作流程。 上面的 camunda-bpm-spring-boot-starter-rest依赖中定义

    2024年02月09日
    浏览(33)
  • 【业务功能篇36】Springboot+activiti7 工作流引擎

    业务场景:前段时间总结的有一个告警工单流程,我们都是直接自己建表,状态节点,操作节点,都是自定义设计的,而到后面会有很多的工单流程,比如创建一个遗留问题电子流,指定处理人进行分析闭环,等等多种电子流,后期重复的开发工作以及维护工作会越来越多。

    2024年02月12日
    浏览(35)
  • SpringBoot整合Activiti实现工作流的低代码系统(附源码+文档)

    activiti工作流引擎项目,企业erp、oa、hr、crm等企事业办公系统轻松落地,一套完整并且实际运用在多套项目中的案例,满足日常业务流程审批需求。 springboot+vue+activiti集成了activiti在线编辑器,流行的前后端分离部署开发模式,快速开发平台,可插拔工作流服务。工作流表单

    2024年04月09日
    浏览(34)
  • SpringBoot整合Activiti实现工作流的低代码系统(附源码和配套文档)

    activiti工作流引擎项目,企业erp、oa、hr、crm等企事业办公系统轻松落地,一套完整并且实际运用在多套项目中的案例,满足日常业务流程审批需求。 springboot+vue+activiti集成了activiti在线编辑器,流行的前后端分离部署开发模式,快速开发平台,可插拔工作流服务。工作流表单

    2024年03月15日
    浏览(56)
  • 【业务功能篇38】上篇:Springboot+activiti7 工作流引擎 增加网关组件、Assignment分配权限

    在前面的一篇文章中,简单举例了一个 工单电子流,【业务功能篇36】Springboot+activiti7 工作流引擎_studyday1的博客-CSDN博客仅有一个子任务,这种一般是针对比较简单的一个遗留问题记录场景,今天再介绍一个,相对比较复杂的流程,多个处理,审批节点任务,通过排他网关组

    2024年02月13日
    浏览(25)
  • 强推集成GPT-4的编辑器Cursor;面向ChatGPT编程18种方法;如何将AI绘画融合于工作流;ChatGPT SEO公式大揭秘 | ShowMeAI日报

    👀 日报合辑 | 🎡 生产力工具与行业应用大全 | 🧡 点赞关注评论拜托啦! 3月16日,美政府网站 Federal Register 发布了 U.S. Copyright Office (版权局)的一项 🌍 政策声明 ,明确了 AI 作品的审核标准和注册流程,并于2023年3月16日生效。 整体上来说,版权申请的审核标准是: 基本上

    2024年02月01日
    浏览(43)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包