diff --git a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/conf/FlowableConfiguration.java b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/conf/FlowableConfiguration.java index 15302a561..5fa140ab4 100644 --- a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/conf/FlowableConfiguration.java +++ b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/conf/FlowableConfiguration.java @@ -64,7 +64,7 @@ public class FlowableConfiguration { configuration.setJobProcessors(jobProcessors); configuration.setEventListeners(Lists.newArrayList(listeners)); configuration.setActivityBehaviorFactory(customActivityBehaviorFactory); - configuration.setDatabaseSchemaUpdate(DB_SCHEMA_UPDATE_TRUE); +// configuration.setDatabaseSchemaUpdate(DB_SCHEMA_UPDATE_TRUE); configuration.setEnableSafeBpmnXml(false); // configuration.setCreateDiagramOnDeploy(false); // configuration.setIdGenerator(new TimeBasedIdGenerator()); diff --git a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/initializer/ExtDatabaseInitializer.java b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/initializer/ExtDatabaseInitializer.java index 41e78ec37..94e48ce0d 100644 --- a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/initializer/ExtDatabaseInitializer.java +++ b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/initializer/ExtDatabaseInitializer.java @@ -1,9 +1,9 @@ package cn.axzo.workflow.server.initializer; import cn.hutool.json.JSONUtil; -import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.flowable.spring.SpringProcessEngineConfiguration; +import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.ApplicationArguments; import org.springframework.boot.ApplicationRunner; import org.springframework.context.ApplicationContext; @@ -33,20 +33,34 @@ import static org.flowable.common.engine.impl.AbstractEngineConfiguration.DB_SCH */ @Component @Slf4j -@AllArgsConstructor public class ExtDatabaseInitializer implements ApplicationRunner { + @Value("${workflow.dbAutoUpdate:true}") + private Boolean dbAutoUpdate; private static final String FILE_PREFIX = "ext_ax_"; private final JdbcTemplate jdbcTemplate; private final ResourceLoader resourceLoader; private final ApplicationContext applicationContext; - private ResourcePatternResolver resourcePatternResolver; + private final ResourcePatternResolver resourcePatternResolver; + + public ExtDatabaseInitializer(JdbcTemplate jdbcTemplate, + ResourceLoader resourceLoader, + ApplicationContext applicationContext, + ResourcePatternResolver resourcePatternResolver) { + this.jdbcTemplate = jdbcTemplate; + this.resourceLoader = resourceLoader; + this.applicationContext = applicationContext; + this.resourcePatternResolver = resourcePatternResolver; + } + @Override public void run(ApplicationArguments args) throws Exception { SpringProcessEngineConfiguration springProcessEngineConfiguration = (SpringProcessEngineConfiguration) applicationContext.getBean("springProcessEngineConfiguration"); if (Objects.equals(DB_SCHEMA_UPDATE_FALSE, springProcessEngineConfiguration.getDatabaseSchemaUpdate())) { - return; + if (!dbAutoUpdate) { + return; + } } List tables = selectExtTables(); diff --git a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/initializer/VersionUpgradeInitializer.java b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/initializer/VersionUpgradeInitializer.java index aba4addb3..3100fa923 100644 --- a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/initializer/VersionUpgradeInitializer.java +++ b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/initializer/VersionUpgradeInitializer.java @@ -1,10 +1,10 @@ package cn.axzo.workflow.server.initializer; import cn.azxo.framework.common.utils.LogUtil; -import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.maven.artifact.versioning.DefaultArtifactVersion; import org.flowable.spring.SpringProcessEngineConfiguration; +import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.ApplicationArguments; import org.springframework.boot.ApplicationRunner; import org.springframework.context.ApplicationContext; @@ -35,21 +35,34 @@ import static org.flowable.common.engine.impl.AbstractEngineConfiguration.DB_SCH */ @Component @Slf4j -@AllArgsConstructor public class VersionUpgradeInitializer implements ApplicationRunner { + @Value("${workflow.dbAutoUpdate:true}") + private Boolean dbAutoUpdate; private static final String FILE_PREFIX = "upgrade_to_"; private static final String COLUMN_NAME = "workflow.engine.version"; private final JdbcTemplate jdbcTemplate; private final ResourceLoader resourceLoader; private final ApplicationContext applicationContext; - private ResourcePatternResolver resourcePatternResolver; + private final ResourcePatternResolver resourcePatternResolver; + + public VersionUpgradeInitializer(JdbcTemplate jdbcTemplate, + ResourceLoader resourceLoader, + ApplicationContext applicationContext, + ResourcePatternResolver resourcePatternResolver) { + this.jdbcTemplate = jdbcTemplate; + this.resourceLoader = resourceLoader; + this.applicationContext = applicationContext; + this.resourcePatternResolver = resourcePatternResolver; + } @Override public void run(ApplicationArguments args) throws Exception { SpringProcessEngineConfiguration springProcessEngineConfiguration = (SpringProcessEngineConfiguration) applicationContext.getBean("springProcessEngineConfiguration"); if (Objects.equals(DB_SCHEMA_UPDATE_FALSE, springProcessEngineConfiguration.getDatabaseSchemaUpdate())) { - return; + if (!dbAutoUpdate) { + return; + } } DefaultArtifactVersion dbVersion = new DefaultArtifactVersion(selectWorkflowEngineVersion());