Activiti 简介以及最新activiti依赖 pom.xml文件(使用时注意对应版本号)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: Activiti 简介以及最新activiti依赖 pom.xml文件(使用时注意对应版本号)

Activiti集成到Spring中,需要根据Activiti版本的不同,使用对应版本的Spring框架。

  • Activiti 5.x版本需要使用Spring 3.x版本,
  • Activiti 6.x版本需要使用Spring 4.x版本或Spring Boot 1.x版本,
  • Activiti 7.x版本需要使用Spring 5.x版本或Spring Boot 2.x版本。

需要注意的是,不同版本的Spring框架在API和配置上可能存在差异,因此在集成时需要根据具体的版本进行配置。在集成过程中,可以通过 Maven 或 Gradle 等依赖管理工具,将 Activiti 和 Spring 相关的依赖库引入到项目中,并按照官方文档提供的配置方式进行集成。

一、Activiti5版本

Activiti5.x的最后一个版本5.23.0, 从2019年8月起,git仓库的代码就没有更新过,官方已不再维护

二、Activiti6版本

Activiti6.x, 从2020年5月起,git仓库的代码就没有更新过,官方已不再维护。Activiti6官方只发布过一个6.0.0版本,由于核心团队变动,经历的时间很多,没有持续发展。

三、Activiti7版本

Activiti7实际上官方现在叫Activiti Cloud。Activiti7跟Activiti5和Activiti6的定位和架构完全不一样,是按照标准云原生架构设计的,包括多个Cloud Native组件,可在分布式环境中工作。基于Kubernetes作为我们的主要部署基础设施,使用Spring Cloud/Spring Boot和Docker来对这些组件进行容器化。

Activiti7包括5个基础构建块:

  1. Activiti Cloud Runtime Bundle
  2. Activiti Cloud Query
  3. Activiti Cloud Audit
  4. Activiti Cloud Connectors
  5. Activiti Cloud Notifications Service (GraphQL)

Activiti7是标准云原生架构,集成多个云原生工具

标准云原生架构,满足云原生12要素。要构建云原生应用程序和服务,仅仅将旧的庞然大物打包在Docker Image中并在Kubernetes中运行是不够的,完全参考Heroku定义的云原生十二要素原则(https://content.pivotal.io/ebooks/beyond-the-12-factor-app)。如果没有这些指导原则,就很难在分布式环境中进行扩展。Activiti Cloud重新定位流程引擎,以便更好地与此类分布式环境中的其他组件交互。Activiti Cloud成功的衡量标准是与其他微服务的低阻抗不匹配,以及它们的设计、构建和部署方式。

Activiti7集成的云原生工具:

  1. Jenkins X: Kubernetes的CI/CD做得很好
  2. JHipster: Spring Cloud和Angular/React生成器
  3. HELM: Kubernetes Package Manager,我们用它在K8s中部署Activiti Cloud应用程序。
  4. Spring Cloud Kubernetes:我们使用它来避免与基础设施的重复/重叠
  5. Istio:基于K8s的服务网格
  6. KNative:作为K8s之上的服务层

四、最新activiti依赖 pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.test</groupId>
    <artifactId>activiti01</artifactId>
    <version>1.0-SNAPSHOT</version>
    <!-- activiti 的相关包 mysql的驱动包 mybatis包 log4j包 数据库链接池-->
    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
        <slf4j.version>1.6.6</slf4j.version>
        <log4j.version>1.2.17</log4j.version>
        <activiti.version>6.0.0</activiti.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.activiti</groupId>
            <artifactId>activiti-engine</artifactId>
            <version>${activiti.version}</version>
        </dependency>
        <dependency>
            <groupId>org.activiti</groupId>
            <artifactId>activiti-spring</artifactId>
            <version>${activiti.version}</version>
        </dependency>
        <!-- bpmn 模型处理 -->
        <dependency>
            <groupId>org.activiti</groupId>
            <artifactId>activiti-bpmn-model</artifactId>
            <version>${activiti.version}</version>
        </dependency>
        <!-- bpmn 转换 -->
        <dependency>
            <groupId>org.activiti</groupId>
            <artifactId>activiti-bpmn-converter</artifactId>
            <version>${activiti.version}</version>
        </dependency>
        <!-- bpmn json数据转换 -->
        <dependency>
            <groupId>org.activiti</groupId>
            <artifactId>activiti-json-converter</artifactId>
            <version>${activiti.version}</version>
        </dependency>
        <!-- bpmn 布局 -->
        <dependency>
            <groupId>org.activiti</groupId>
            <artifactId>activiti-bpmn-layout</artifactId>
            <version>${activiti.version}</version>
        </dependency>
        <!-- activiti 云支持 -->
        <dependency>
            <groupId>org.activiti.cloud</groupId>
            <artifactId>activiti-cloud-services-api</artifactId>
            <version>7-201710-EA</version>
        </dependency>
        <!-- mysql驱动 -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.26</version>
        </dependency>
        <!-- mybatis -->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.6</version>
        </dependency>
        <!-- 链接池 -->
        <dependency>
            <groupId>commons-dbcp</groupId>
            <artifactId>commons-dbcp</artifactId>
            <version>1.2.2</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.13.1</version>
        </dependency>
        <!-- log start -->
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>${log4j.version}</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.26</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.7.25</version>
        </dependency>
        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>2.4</version>
        </dependency>
    </dependencies>
</project>

五、总结:

  1. activiti5和ativiti6官方已不再发展和维护,代码已经4年没有更新,不建议选择。
  2. Activiti7即Activiti Cloud,定位云产品,完全面向云原生架构设计开发,依赖k8s等多个CNCF云组件,开发、集成、部署和运维均比较复杂,对团队技术人员能力要求高,一般中小型项目,不建议选择Activiti7。
相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
2月前
|
XML 前端开发 Java
讲解SSM的xml文件
本文详细介绍了SSM框架中的xml配置文件,包括springMVC.xml和applicationContext.xml,涉及组件扫描、数据源配置、事务管理、MyBatis集成以及Spring MVC的视图解析器配置。
79 1
|
1月前
|
XML Android开发 数据格式
Eclipse 创建 XML 文件
Eclipse 创建 XML 文件
28 2
|
1月前
|
Java Maven
maven项目的pom.xml文件常用标签使用介绍
第四届人文,智慧教育与服务管理国际学术会议(HWESM 2025) 2025 4th International Conference on Humanities, Wisdom Education and Service Management
140 8
|
2月前
|
XML JavaScript Java
java与XML文件的读写
java与XML文件的读写
31 3
|
2月前
|
XML 存储 缓存
C#使用XML文件的详解及示例
C#使用XML文件的详解及示例
116 0
|
4月前
|
XML Java 数据格式
Spring5入门到实战------7、IOC容器-Bean管理XML方式(外部属性文件)
这篇文章是Spring5框架的实战教程,主要介绍了如何在Spring的IOC容器中通过XML配置方式使用外部属性文件来管理Bean,特别是数据库连接池的配置。文章详细讲解了创建属性文件、引入属性文件到Spring配置、以及如何使用属性占位符来引用属性文件中的值。
Spring5入门到实战------7、IOC容器-Bean管理XML方式(外部属性文件)
|
6月前
|
XML Java 数据格式
java创建xml文件内容
java创建xml文件内容
|
6月前
|
XML Java 数据格式
java解析xml文件内容
java解析xml文件内容
|
2月前
|
XML 存储 Web App开发
查看 XML 文件
查看 XML 文件
|
3月前
|
SQL XML Java
mybatis :sqlmapconfig.xml配置 ++++Mapper XML 文件(sql/insert/delete/update/select)(增删改查)用法
当然,这些仅是MyBatis功能的初步介绍。MyBatis还提供了高级特性,如动态SQL、类型处理器、插件等,可以进一步提供对数据库交互的强大支持和灵活性。希望上述内容对您理解MyBatis的基本操作有所帮助。在实际使用中,您可能还需要根据具体的业务要求调整和优化SQL语句和配置。
70 1