From 250dd40831fdd6e72c26d5123b8bbb97b27f44c8 Mon Sep 17 00:00:00 2001 From: wangli <274027703@qq.com> Date: Tue, 16 Jul 2024 09:58:25 +0800 Subject: [PATCH] =?UTF-8?q?update=20-=20=E5=A2=9E=E5=8A=A0=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=BA=93=E8=84=9A=E6=9C=AC=E5=8D=87=E7=BA=A7=E9=80=BB?= =?UTF-8?q?=E8=BE=91=E6=8E=A7=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/conf/FlowableConfiguration.java | 2 +- .../initializer/ExtDatabaseInitializer.java | 22 +++++++++++++++---- .../VersionUpgradeInitializer.java | 21 ++++++++++++++---- 3 files changed, 36 insertions(+), 9 deletions(-) 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());