flowable 6.7
时间: 2023-08-03 11:08:12 浏览: 106
Flowable 6.7是一个开源的业务流程管理(BPM)和工作流引擎。它提供了一套功能强大的工具和API,用于设计、执行和监控各种类型的业务流程。Flowable 6.7支持各种业务流程建模标准,如BPMN 2.0(Business Process Model and Notation)、CMMN(Case Management Model and Notation)和DMN(Decision Model and Notation)。它还提供了一系列的扩展功能,如任务分配、表单管理、事件驱动、决策规则和工作流实例的持久化等。通过使用Flowable 6.7,您可以更好地管理和优化您的业务流程,提高效率和灵活性。
相关问题
Java flowable6.7流程历史任务异步
在Java Flowable 6.7版本中,流程历史任务的异步处理通常涉及到将流程实例中的任务分配给后台线程池来执行,这样可以提高系统的响应速度,并避免阻塞主线程。Flowable 提供了一些API和配置选项来进行异步处理。
1. **使用AsyncTaskExecutor**:你可以创建一个自定义的AsyncTaskExecutor,然后在`ActivitiTaskService`中设置它,使得每当有新的历史任务创建时,默认会将其异步执行。
```java
AsyncTaskExecutor executor = new SimpleAsyncTaskExecutor();
processEngineConfiguration.setAsyncExecutor(executor);
```
2. **使用TaskService的异步方法**:对于单个任务,可以直接调用`taskService.executeAsyncHistoricTaskInstance(taskInstanceId)`来异步执行。
3. **任务通知**:如果任务有邮件或其他通知关联,你也可以设置通知在后台发送,而不是立即阻塞用户界面。
注意,处理流程历史任务异步时,还需要考虑任务结果的存储和回溯问题,以及可能出现的错误处理和日志记录。
flowable6.4升级6.7后db-master.yaml找不到
<think>嗯,用户遇到了Flowable从6.4升级到6.7后找不到db-master.yaml文件的问题。这看起来是个典型的版本升级兼容性问题。
用户提到的引用内容是关于数据库变更日志的配置示例,但似乎和当前问题关联不大。核心问题应该是Flowable在6.7版本调整了数据库初始化机制。我记得从6.5版本开始,Flowable确实重构了数据库初始化流程,用更灵活的模块化配置取代了单一的master文件。
用户可能正在经历升级后的启动失败,控制台应该会报类似"找不到db.changelog-master.yaml"的错误。需要让用户理解这是故意设计的改变而非bug。解决方案关键在于两点:一是创建新的模块化变更日志文件,二是正确配置指向这些文件的索引文件。
考虑到用户的环境,ta可能正在使用Spring Boot。需要给出具体的yaml配置示例,包括变更集ID的命名规范——这个很重要,因为Flowable会按字母顺序执行这些文件。另外要提醒用户注意数据库类型配置,不同数据库需要不同的DDL文件。
用户可能还会困惑旧版本升级脚本如何处理。需要说明Flowable会自动处理版本迁移,新的变更日志只需包含6.4到6.7之间的数据库改动即可。如果用户原有自定义表结构,可能需要额外创建changeSet来维护。
最后要给出验证步骤,毕竟数据库操作有风险。建议用户先备份数据库再测试,特别是生产环境。那些相关问题设计得很到位,覆盖了版本差异、回滚方案等用户接下来可能关心的问题。</think>根据Flowable升级机制和数据库变更管理逻辑,解决db-master.yaml缺失问题的步骤如下:
### 解决方案
1. **理解变更机制**
Flowable 6.7 改用模块化数据库脚本管理。原单一 `db-master.yaml` 被拆分为多个版本化文件,存储在 `resources/org/flowable/db/liquibase/flowable` 目录下[^1]。
例如:
```
flowable-6.7.0-changelog.xml
flowable-6.7.1-changelog.xml
```
2. **配置主索引文件**
在 `resources/db/changelog` 创建 **db.changelog-master.yaml** 文件,引用新版本模块:
```yaml
databaseChangeLog:
- include:
file: classpath:org/flowable/db/liquibase/flowable/flowable-6.7.0-changelog.xml
- include:
file: classpath:org/flowable/db/liquibase/flowable/flowable-6.7.1-changelog.xml
```
3. **自定义变更集成**
若需添加项目特定变更,在索引文件中追加:
```yaml
- include:
file: classpath:db/changelog/db.changelog-custom.yaml
```
4. **关键配置调整**
在 `application.properties` 中确保指向新索引文件:
```properties
flowable.databaseSchemaUpdate=true
flowable.liquibase.change-log=classpath:/db/changelog/db.changelog-master.yaml
```
### 验证步骤
1. 启动时检查日志是否存在:
`Executing database schema management`
2. 验证数据库表版本号更新:
```sql
SELECT * FROM ACT_GE_PROPERTY WHERE NAME_ = 'schema.version';
```
返回值应为 `6.7.X`
> **重要提示**:升级前务必**备份数据库**。若从旧版本升级,Flowable会自动执行增量脚本,无需手动重放历史变更[^2]。
---
### 相关问题
1. **如何验证Flowable升级后数据库结构是否正确?**
> 可通过比对 `ACT_DEVMAN_` 系列表结构与[官方文档](https://flowable.com/open-source/docs/),或使用SchemaCrawler生成差异报告。
2. **升级过程中出现外键约束错误应如何处理?**
> 需检查自定义SQL脚本是否与Flowable内置变更集冲突,建议通过 `context` 属性隔离执行环境:
> ```yaml
> - changeSet:
> id: custom_fix
> context: upgrade_6.7
> ```
3. **能否跳过特定版本的数据库变更?**
> 可在 `db.changelog-master.yaml` 中使用 `include` 的 `relativeToChangelogFile` 属性控制加载路径,但不建议跳过核心版本变更。
4. **回滚升级的正确流程是什么?**
> 需结合备份恢复数据库,并清除 `ACT_RU_*` 运行时表。**禁止直接降级JAR包**,可能导致不可逆数据损坏。
[^1]: Flowable 6.7 官方发布说明中明确提到数据库初始化机制的模块化重构
[^2]: Liquibase 的 `DATABASECHANGELOG` 表会记录已执行的变更集ID,确保脚本幂等性
阅读全文
相关推荐













