【Flowable】 Eclipse 流程绘制

Metadata

title: 【Flowable】 Eclipse 流程绘制
date: 2023-01-23 16:36
tags:
  - 行动阶段/完成
  - 主题场景/组件
  - 笔记空间/KnowladgeSpace/ProgramSpace/ModuleSpace
  - 细化主题/Module/Flowable
categories:
  - Flowable
keywords:
  - Flowable
description: 【Flowable】 Eclipse 流程绘制

Eclipse Designer

Flowable 提供了名为 Flowable Eclipse Designer 的 Eclipse 插件,可以用于图形化地建模、测试与部署 BPMN 2.0 流程。

1. 下载安装 Eclipse

去 Eclipse 官网下载即可:https://www.eclipse.org/downloads/packages/release 注意 2020-09 后的版本不再支持 jdk8

解压缩就可以了,然后进入解压缩的目录

直接启动即可

2. 安装 Flowable 插件

然后我们再安装下 Flowable 的插件,选择 Help → Install New Software。在下图面板中,点击 Add 按钮,并填写下列字段

这种在线更新的方式已经被官网移除了,操作不了

这时我们就只能通过离线安装的方式来实现了,下载对应的离线文件

安装步骤来操作,

然后继续:选择 Help → Install New Software

下一步

再下一步

然后 finish。弹出如下窗口

重启即可

3. 创建项目

然后我们就可以创建一个 Flowable Project 了

然后我们可以在 src/mian/resources/ 的目录下创建对应的流程图了

看到如下的界面说明插件安装成功了

4. 创建流程图

使用画板来绘制流程,通过从右侧把图标拖拽到左侧的面板,最终的效果

指定流程的主键

指定任务的负责人

在 Properties 视图中指定每个任务节点的负责人

创建请假单:zhangsan

审批请假单:lisi

当我们设置完成后保存文件,会同时生成 png 图片

注意:生成图片需要如下配置

5. 部署流程

首先在 Eclipse 中生成 bar 文件,选中项目然后鼠标右击

然后会发现在项目的根目录下多了一个 deployment 文件夹,里面多了一个 MyProcess.bar 文件

然后我们就可以把这个 bar 文件拷贝到 IDEA 中,继续部署的流程

而部署的代码和前面没啥区别

@Test
public void testDeployBar(){
    
    ProcessEngineConfiguration cfg = new StandaloneProcessEngineConfiguration()
            .setJdbcUrl("jdbc:mysql://localhost:3306/flowable-learn2?serverTimezone=UTC&nullCatalogMeansCurrent=true")
            .setJdbcUsername("root")
            .setJdbcPassword("123456")
            .setJdbcDriver("com.mysql.cj.jdbc.Driver")
            .setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_TRUE);
    
    ProcessEngine processEngine = cfg.buildProcessEngine();
    RepositoryService repositoryService = processEngine.getRepositoryService();
    Deployment deploy = repositoryService.createDeployment()
            .addClasspathResource("MyProcess.bar")
            .deploy();
    System.out.println("deploy.getId() = " + deploy.getId());
    System.out.println("deploy.getName() = " + deploy.getName());
    System.out.println("deploy.getCategory() = " + deploy.getCategory());
}

执行后查看表结构,相关的信息就进去了