flowable工作流并发流
时间: 2023-08-31 09:05:32 浏览: 190
Flowable 是一个开源的轻量级工作流引擎,它支持并发流程。在 Flowable 中,可以通过多种方式实现并发流程,包括并行网关、多实例任务和异步任务等。
1. 并行网关(Parallel Gateway):并行网关用于将流程分成多个并行的路径,每个路径可以同时执行不同的任务或活动。通过并行网关,可以实现并发执行多个任务的流程。
2. 多实例任务(Multi-instance Task):多实例任务允许在流程执行期间多次重复执行相同的任务。可以通过设置多实例任务的数量来实现并发执行。
3. 异步任务(Asynchronous Task):异步任务是指在流程中执行的任务可以在后台异步进行而不卡住整个流程。使用异步任务,可以实现并发执行任务而不阻塞流程的进行。
以上是 Flowable 常用的几种并发流程实现方式。你可以根据具体的业务需求选择适合的方式来设计并发流程。
相关问题
flowable工作流 并发执行
Flowable工作流引擎允许并发执行多个任务,以提高工作流的效率和性能。Flowable工作流支持以下类型的并发执行:
1. 并行网关(Parallel Gateway):并行网关用于将流程分成多个并行分支,并在每个分支上并发执行任务。当所有分支的任务都完成后,流程将继续执行。
2. 事件子流程(Event Subprocess):事件子流程是一个嵌套在主流程中的子流程,可以在指定的事件发生时启动。事件子流程可以独立于主流程并行执行,并在完成后返回到主流程。
3. 多实例任务(Multi-instance Task):多实例任务允许将一个任务实例拆分为多个子任务实例,并在这些子任务实例上并发执行。每个子任务实例可以由不同的参与者完成。
这些机制使得Flowable工作流能够处理并发执行的需求,并灵活地适应各种业务场景。
Flowable工作流
### Flowable 工作流引擎使用教程与最佳实践
#### 1. 流程设计与建模
为了更好地理解和利用 Flowable 引擎的功能,在实际应用之前应该熟悉如何创建和编辑 BPMN 图表。这可以通过官方提供的 `flowable-ui` 应用来实现,它允许用户直观地绘制业务流程模型并将其保存到数据库中以便后续执行[^2]。
```bash
# 启动 flowable-ui 容器服务
docker-compose up -d
```
访问地址为 http://127.0.0.1:9999/flowable-ui/, 默认管理员账户信息 admin/test 可用于初次登录操作[^3].
#### 2. 集成 Spring Boot 实现自定义逻辑
当涉及到具体的业务场景时,则可以借助于流行的微框架——Spring Boot 来快速搭建应用程序,并集成 Flowable 提供的各种 API 接口来处理复杂的审批流转需求。这种方式不仅简化了开发过程中的配置管理工作量,而且使得整个系统的可维护性和扩展性得到了极大提升。
```java
// 创建一个新的流程实例
ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("my-process");
System.out.println("Started process instance id " + processInstance.getId());
```
#### 3. 数据库持久化设置
对于生产环境而言,建议采用关系型数据库(如 MySQL)作为后台存储介质以确保数据的安全可靠。通过修改相应的连接字符串和其他必要参数即可轻松完成迁移工作,从而满足不同规模企业级项目的特殊要求。
```yaml
spring:
datasource:
url: jdbc:mysql://localhost:3306/flowable?useSSL=false&serverTimezone=UTC
username: root
password: yourpasswordhere
```
#### 4. 性能优化技巧
随着并发请求数量的增长以及历史记录积累越来越多的情况下,有必要采取一些措施提高系统响应速度和服务质量。比如合理调整线程池大小、启用缓存机制等都是常见有效的手段之一;另外还可以考虑定期清理不再需要的历史版本文件夹等内容减轻服务器负担[^1]。
阅读全文