update - 增加数据库脚本升级逻辑控制
This commit is contained in:
parent
2bebe80382
commit
250dd40831
@ -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());
|
||||
|
||||
@ -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<String> tables = selectExtTables();
|
||||
|
||||
@ -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());
|
||||
|
||||
Loading…
Reference in New Issue
Block a user