flowable / flowable/flowable-engine

Cannot be disabled in latest version

Open
#3,169 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
9.5k
Forks
2.9k
Avg merge
7h 8m
Merged PRs (30d)
2

Description

**Describe the bug**
In version `6.4.2` and before the startup of Flowable modules could be disabled with the following Spring Boot configuration:
```
flowable:
app:
enabled: false
deploy-resources: false
servlet:
load-on-startup: 0
cmmn:
enabled: false
deploy-resources: false
servlet:
load-on-startup: 0
async:
executor:
auto-activate: false
content:
enabled: false
servlet:
load-on-startup: 0
database-schema-update: false
dmn:
enabled: false
deploy-resources: false
resource-location: classpath*:/flowable/dmn/
servlet:
load-on-startup: 0
history-enabled: false
form:
enabled: false
deploy-resources: false
servlet:
load-on-startup: 0
idm:
enabled: false
servlet:
load-on-startup: 0
process-definition-location-prefix: classpath*:/flowable/processes/
process:
enabled: false
servlet:
load-on-startup: 0
async-history:
executor:
auto-activate: false
jpa-enabled: false
async-executor-activate: false
```
This does not work anymore with the latest upgrade to minor `6.7.2`. No additional parameters have been added between both versions. Now a Spring Boot app is with this configuration fails because Flowable still wants to initiate beans. The error message ist:
```
2021-01-01 23:04:16.776 ERROR [68159/1] - o.f.c.e.impl.interceptor.CommandContext : Error while closing command context

org.apache.ibatis.exceptions.PersistenceException:
### Error querying database. Cause: org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "FLW_CHANNEL_DEFINITION" not found; SQL statement:
SELECT RES.*

from FLW_CHANNEL_DEFINITION RES
WHERE RES.VERSION_ = (select max(VERSION_) from FLW_CHANNEL_DEFINITION where KEY_ = RES.KEY_




and ( (TENANT_ID_ IS NOT NULL and TENANT_ID_ = RES.TENANT_ID_) or (TENANT_ID_ IS NULL and RES.TENANT_ID_ IS NULL) )

)

order by RES.ID_ asc [42102-200]
### The error may exist in org/flowable/eventregistry/db/mapping/entity/ChannelDefinition.xml
### The error may involve org.flowable.eventregistry.impl.persistence.entity.ChannelDefinitionEntityImpl.selectChannelDefinitionsByQueryCriteria
### The error occurred while executing a query
### SQL: SELECT RES.* from FLW_CHANNEL_DEFINITION RES WHERE RES.VERSION_ = (select max(VERSION_) from FLW_CHANNEL_DEFINITION where KEY_ = RES.KEY_ and ( (TENANT_ID_ IS NOT NULL and TENANT_ID_ = RES.TENANT_ID_) or (TENANT_ID_ IS NULL and RES.TENANT_ID_ IS NULL) ) ) order by RES.ID_ asc
### Cause: org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "FLW_CHANNEL_DEFINITION" not found; SQL statement:
SELECT RES.*

from FLW_CHANNEL_DEFINITION RES
```

**Expected behavior**
Only an upgrade of a minor version shall not impact the internal behavior of Flowable startup. The configuration parameters have not changed, so I expect the same behavior as before, that Flowable could be disabled and only activated via Spring profile. At best there should be _one_ and only _one_ configuration parameter to enable/disable the whole Flowable suite at all, like `flowable.enabled=true|false`

**Code**
see above.

Maven dependencies:
```

org.flowable
flowable-spring-boot-starter
${flowable.version}


commons-logging
commons-logging




org.flowable
flowable-spring-boot-starter-dmn
${flowable.version}


commons-logging
commons-logging


```
**Additional context**

SpringBoot 2.6.2
Flowable upgrade from 6.4.2 -> 6.7.2

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.