flowable工作流看这一篇就够了(基础篇)

本文档介绍了Flowable工作流的基础知识,包括创建ProcessEngine、部署流程定义、启动流程实例、任务管理以及查看历史信息。Flowable不仅支持BPMN,还涵盖DMN和CMMN,并提供Eclipse Designer和Flowable UI应用。Flowable UI应用包含IDM、Modeler、Task和Admin,方便用户管理、建模和查看流程状态。
摘要由CSDN通过智能技术生成

目录

一、Flowable介绍

二、Flowable基础

2.1、创建ProcessEngine

2.2、部署流程定义

2.3、启动流程实例

2.4、查看任务

2.5、完成任务

2.6、查看历史信息

三、Flowable流程设计器

3.1、Eclipse Designer

3.2、Flowable UI应用

3.2.1、安装部署

3.2.2、启动服务

3.2.3、用户管理

3.2.4、绘制流程

3.2.5、部署流程

3.2.6、FlowableUI 演示

部署流程

启动流程


一、Flowable介绍

Flowable是BPMN的一个基于java的软件实现,不过Flowable不仅仅包括BPMN,还有DMN决策表和CMMN Case管理引擎,并且有自己的用户管理、微服务API等一系列功能,是一个服务平台。

二、Flowable基础

2.1、创建ProcessEngine

第一步:创建一个基本的maven工程,然后添加两个依赖

  • Flowable流程引擎。使我们可以创建一个ProcessEngine流程引擎对象,并访问Flowable API。

  • 一个是MySQL的数据库驱动。

pom.xml文件中添加下列行:

<dependencies>
	<dependency>
		<groupId>org.flowable</groupId>
		<artifactId>flowable-engine</artifactId>
		<version>6.3.0</version>
	</dependency>
	<dependency>
		<groupId&
  • 3
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,下面我来给您演示一个简单的Flowable工作流实例。 首先,我们需要准备以下三个环节: 1. Flowable引擎配置:用于配置Flowable引擎相关的参数。 2. 流程定义:用于定义工作流流程。 3. 流程实例:用于实例化工作流,并执行流程。 接下来,我将逐一演示这三个环节的具体实现。 1. Flowable引擎配置: ```java @Configuration public class FlowableConfig { @Bean public ProcessEngineConfigurationImpl processEngineConfiguration() { SpringProcessEngineConfiguration configuration = new SpringProcessEngineConfiguration(); configuration.setDataSource(dataSource); configuration.setTransactionManager(transactionManager); configuration.setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_TRUE); configuration.setAsyncExecutorActivate(false); configuration.setHistory(ProcessEngineConfiguration.HISTORY_FULL); configuration.setJobExecutorActivate(false); return configuration; } @Bean public ProcessEngineFactoryBean processEngine() { ProcessEngineFactoryBean factoryBean = new ProcessEngineFactoryBean(); factoryBean.setProcessEngineConfiguration(processEngineConfiguration()); return factoryBean; } @Bean public RepositoryService repositoryService() { return processEngine().getObject().getRepositoryService(); } @Bean public RuntimeService runtimeService() { return processEngine().getObject().getRuntimeService(); } @Bean public TaskService taskService() { return processEngine().getObject().getTaskService(); } @Bean public HistoryService historyService() { return processEngine().getObject().getHistoryService(); } @Bean public ManagementService managementService() { return processEngine().getObject().getManagementService(); } } ``` 在这个配置类中,我们使用了SpringProcessEngineConfiguration来配置Flowable引擎,同时通过各个@Bean方法来获取Flowable引擎的各个服务对象。 2. 流程定义: ```java public class SimpleApprovalWorkflow { public static final String PROCESS_DEFINITION_KEY = "simpleApproval"; public static BpmnModel createProcessModel() { BpmnModel model = new BpmnModel(); Process process = new Process(); process.setId(PROCESS_DEFINITION_KEY); process.setName("Simple Approval Workflow"); model.addProcess(process); // Start Event StartEvent startEvent = new StartEvent(); startEvent.setId("startEvent"); process.addFlowElement(startEvent); // User Task UserTask userTask = new UserTask(); userTask.setId("userTask"); userTask.setName("Approve Request"); userTask.setAssignee("${employee}"); process.addFlowElement(userTask); // End Event EndEvent endEvent = new EndEvent(); endEvent.setId("endEvent"); process.addFlowElement(endEvent); // Sequence Flow process.addFlowElement(new SequenceFlow("startEvent", "userTask")); process.addFlowElement(new SequenceFlow("userTask", "endEvent")); return model; } } ``` 在这个流程定义中,我们定义了一个包含一个用户任务的工作流。其中,用户任务会被分配给一个变量名为employee的用户,该用户需要执行审批操作。 3. 流程实例: ```java @Service public class SimpleApprovalWorkflowService { @Autowired private RuntimeService runtimeService; public void startWorkflow(String employee) { Map<String, Object> variables = new HashMap<>(); variables.put("employee", employee); runtimeService.startProcessInstanceByKey(SimpleApprovalWorkflow.PROCESS_DEFINITION_KEY, variables); } } ``` 在这个流程实例中,我们使用了RuntimeService来启动工作流,并通过variables参数来指定需要执行审批操作的用户。 好了,以上就是一个简单的Flowable工作流实例的实现过程。当然,实际的工作流实现会更为复杂,但基本的流程定义、引擎配置和流程实例的实现思路大致相同。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

全真王重阳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值