npm 包 generator-jhipster-activiti 使用教程

阅读时长 8 分钟读完

简介

generator-jhipster-activiti 是基于 JHipster 和 Activiti 的一个 npm 包,它可以帮助前端开发人员创建一个基础的 Activiti 项目,包括 Activiti 的相关配置、Activiti-rest 的配置以及数据模型的生成。适用于想要在 JHipster 项目中集成 Activiti 的开发者。

使用前准备

在使用 generator-jhipster-activiti 之前,你需要安装以下工具:

安装

首先,全局安装 generator-jhipster-activiti:

接着,在 JHipster 项目根目录下执行以下命令:

根据提示进行配置,回答问题或保留默认值。

完成配置后,执行以下命令启动项目:

然后,在浏览器中打开 localhost:8080 即可访问项目。

项目结构

使用 generator-jhipster-activiti 生成的项目结构与 JHipster 原有的结构相似,但在 Activiti 方面做了一些特殊处理。

  • src/main/resources/processes: Activiti XML 流程文件的存储目录。
  • src/main/resources/processes/*.bpmn20.xml: Activiti BPMN 2.0 文件。
  • src/main/resources/activiti: Activiti 的相关配置文件存储在该目录下。
  • src/main/resources/config/application-activiti.yml: Activiti 的配置文件(需要手动创建)。

使用示例

创建一个新的 BPMN 流程

src/main/resources/processes 目录下新建一个 .bpmn20.xml 文件,例如:

-- -------------------- ---- -------
----- ------------- ------------------
------------ ---------------------------------------------------
             --------------------------------------------------
             -----------------------------------------------------
             --------------------------------------------------------------- -----------
             -------------------------------------------------------------
  -------- ------------- ------------- ---
    ----------- ---------------- -------------
      ----------------------------------
    -------------
    ------------- ------------------ ----------------------- -------------------------
    ----------- ---------------- --------------
      ------------------------------ ---------------------
      ----------------------------------
      ----------------------------------
    -------------
    ------------- ------------------ ----------------------- -----------------------
    --------- -------------- -----------
      ----------------------------------
    -----------
  ----------
--------------

上述流程定义了一个简单的包含一个开始事件、一个脚本任务和一个结束事件的流程。

接着,在 src/main/resources/activiti 目录下创建一个 .properties 文件(例如 my-process.properties),添加以下内容:

然后,在 src/main/resources/config/application-activiti.yml 中引入该配置文件:

重启项目,即可在 Activiti 的 Cockpit 中看到一个名为 process1 的流程。

添加 Activiti-rest 支持

首先,在 pom.xml 中添加以下依赖:

-- -------------------- ---- -------
------------
    -------------------------------
    --------------------------------------------------------------------
    --------------------------------------
-------------
------------
    ---------------------------------
    ---------------------------
    ----------------------
-------------

然后,在 src/main/resources/application.yml 中配置 Activiti-rest:

-- -------------------- ---- -------
---------
  -----
    ----
      ----- -----
      ---- ---------------------
  --------
    ------------- --------------
  ---------
    -------------- ----
    ------- --------
    ----- --
    ---- -------------------------------------------------------------
    --------- --
    --------- --

重启项目,即可在 http://localhost:8080/activiti-rest 访问 Activiti-rest 的 API。

生成数据模型

在项目根目录下执行以下命令:

根据提示回答问题,将会在 src/main/java/com/myapp/domain/ 目录下生成一个名为 ActivitiTask.java 的 Java 类,用于管理 Activiti 定义的任务。该类包括以下属性:

  • id: 主键
  • name: 任务名称
  • assignee: 处理人
  • createTime: 创建时间
  • dueDate: 截止时间
  • priority: 优先级
  • processInstanceId: 流程实例 ID
  • executionId: 执行 ID
  • description: 描述

它继承了 AbstractAuditingEntity,所以还具有创建日期、创建者、最后修改日期和最后修改者等属性。

在使用时,首先需要在你自己的域对象(例如 Order)中添加一个 Activiti 任务属性:

并在其对应的 DTO(例如 OrderDTO)中添加相应的属性和 get/set 方法:

-- -------------------- ---- -------
------- ---- ---------------

------ ---- ------------------- -
    ------ ---------------
-

------ ---- ---------------------- --------------- -
    ------------------- - ---------------
-

然后,在服务类中进行相应的操作:

  • 创建 Activiti 任务:使用 Activiti 的 API 创建任务,并将其 ID 存储到域对象中的 activitiTaskId 属性中。
  • 完成 Activiti 任务:通过 ActivitiTaskRepository 查询任务,并调用 Activiti 的 API 完成任务。
  • 查询 Activiti 任务:通过 ActivitiTaskRepository 查询任务。

结论

generator-jhipster-activiti 能够为你的 JHipster 项目集成了 Activiti 的基础支持,使得你可以在项目中快速创建 Activiti 流程、使用 Activiti-rest、生成数据模型等,提高项目开发效率、降低项目开发成本。如果你正在使用 JHipster,并且想要集成 Activiti,那么 generator-jhipster-activiti 将会是一个不错的选择。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600574c281e8991b448ea24a

纠错
反馈