-
Notifications
You must be signed in to change notification settings - Fork 2.8k
Open
Description
Describe the bug
I switched from flowable 7.0.0 to 7.1.0 and ran my unit test which uses HSQL and Autowires org.flowable.engine.RuntimeService via one of my classes, it fails with
Caused by: org.flowable.common.engine.api.FlowableException: resource 'org/flowable/app/db/create/flowable.hsql.create.app.sql' is not available
at org.flowable.common.engine.impl.db.AbstractSqlScriptBasedDbSchemaManager.executeSchemaResource(AbstractSqlScriptBasedDbSchemaManager.java:230)
at org.flowable.common.engine.impl.db.AbstractSqlScriptBasedDbSchemaManager.executeMandatorySchemaResource(AbstractSqlScriptBasedDbSchemaManager.java:221)
at org.flowable.common.engine.impl.db.EngineSqlScriptBasedDbSchemaManager.dbSchemaCreateEngine(EngineSqlScriptBasedDbSchemaManager.java:108)
at org.flowable.common.engine.impl.db.EngineSqlScriptBasedDbSchemaManager.schemaUpdateInLock(EngineSqlScriptBasedDbSchemaManager.java:159)
at org.flowable.common.engine.impl.db.EngineSqlScriptBasedDbSchemaManager.schemaUpdate(EngineSqlScriptBasedDbSchemaManager.java:129)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
at org.flowable.common.engine.impl.db.SchemaOperationsEngineBuild.executeSchemaUpdate(SchemaOperationsEngineBuild.java:98)
at org.flowable.common.engine.impl.db.SchemaOperationsEngineBuild.execute(SchemaOperationsEngineBuild.java:68)
at org.flowable.common.engine.impl.db.SchemaOperationsEngineBuild.execute(SchemaOperationsEngineBuild.java:30)
at org.flowable.app.engine.impl.interceptor.AppCommandInvoker.execute(AppCommandInvoker.java:36)
at org.flowable.common.engine.impl.interceptor.TransactionContextInterceptor.execute(TransactionContextInterceptor.java:53)
at org.flowable.common.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:105)
at org.flowable.common.spring.SpringTransactionInterceptor.lambda$execute$0(SpringTransactionInterceptor.java:57)
at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140)
at org.flowable.common.spring.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:57)
at org.flowable.common.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:30)
at org.flowable.common.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:56)
at org.flowable.app.engine.impl.AppEngineImpl.<init>(AppEngineImpl.java:45)
at org.flowable.app.engine.AppEngineConfiguration.createEngine(AppEngineConfiguration.java:190)
at org.flowable.app.engine.AppEngineConfiguration.createEngine(AppEngineConfiguration.java:105)
at org.flowable.common.engine.impl.AbstractBuildableEngineConfiguration.buildEngine(AbstractBuildableEngineConfiguration.java:30)
at org.flowable.app.spring.SpringAppEngineConfiguration.buildEngine(SpringAppEngineConfiguration.java:66)
at org.flowable.app.spring.SpringAppEngineConfiguration.buildEngine(SpringAppEngineConfiguration.java:47)
at org.flowable.app.engine.AppEngineConfiguration.buildAppEngine(AppEngineConfiguration.java:199)
at org.flowable.app.spring.AppEngineFactoryBean.getObject(AppEngineFactoryBean.java:58)
at org.flowable.app.spring.AppEngineFactoryBean.getObject(AppEngineFactoryBean.java:31)
at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:186)
... 96 moreExpected behavior
org.flowable.engine.RuntimeService should be able to instantiate when connecting to HSQL
Work around
I was able to work around by copying
- https://github.com/flowable/flowable-engine/blob/main/modules/flowable-app-engine/src/main/resources/org/flowable/app/db/create/flowable.h2.create.app.sql
- https://github.com/flowable/flowable-engine/blob/main/modules/flowable-dmn-engine/src/main/resources/org/flowable/dmn/db/create/flowable.h2.create.dmn.sql
- https://github.com/flowable/flowable-engine/blob/main/modules/flowable-event-registry/src/main/resources/org/flowable/eventregistry/db/create/flowable.h2.create.eventregistry.sql
To src/test/resources and rename them with hsql vice h2, meaning I wound up with
- org/flowable/app/db/create/flowable.hsql.create.app.sql
- org/flowable/eventregistry/db/create/flowable.hsql.create.eventregistry.sql
- org/flowable/dmn/db/create/flowable.hsql.create.dmn.sql
Then the test passed
Metadata
Metadata
Assignees
Labels
No labels