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

有目标就不怕路远。年轻人.无论你现在身在何方.重要的是你将要向何处去。只有明确的目标才能助你成功。没有目标的航船.任何方向的风对他来说都是逆风。因此,再遥远的旅程,只要有目标.就不怕路远。没有目标,哪来的劲头?一车尔尼雷夫斯基

导读:本篇文章讲解 Activiti 简介以及最新activiti依赖 pom.xml文件(使用时注意对应版本号),希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

最新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。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之家整理,本文链接:https://www.bmabk.com/index.php/post/135772.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之家——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!