From f450b7ef28ef97a9fc6caa6a6978b94e659a8e7f Mon Sep 17 00:00:00 2001 From: wind Date: Sat, 25 Dec 2021 01:05:08 +0800 Subject: [PATCH] [BUG-7554] Fix database lose data in standalone (#7620) * Fix the wrong lifecycle phase of initialization Co-authored-by: kezhenxu94 --- .../dolphinscheduler/api/aspect/AccessLogAnnotation.java | 2 +- .../src/main/resources/application.yaml | 5 ++++- .../server/worker/plugin/TaskPluginManager.java | 6 ++++-- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/aspect/AccessLogAnnotation.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/aspect/AccessLogAnnotation.java index a7bee62a7e..db62bcda3a 100644 --- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/aspect/AccessLogAnnotation.java +++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/aspect/AccessLogAnnotation.java @@ -28,7 +28,7 @@ import java.lang.annotation.Target; @Documented public @interface AccessLogAnnotation { // ignore request args - String[] ignoreRequestArgs() default {}; + String[] ignoreRequestArgs() default {"loginUser"}; boolean ignoreRequest() default false; diff --git a/dolphinscheduler-standalone-server/src/main/resources/application.yaml b/dolphinscheduler-standalone-server/src/main/resources/application.yaml index c0912ad12b..7ed47a00fd 100644 --- a/dolphinscheduler-standalone-server/src/main/resources/application.yaml +++ b/dolphinscheduler-standalone-server/src/main/resources/application.yaml @@ -31,9 +31,12 @@ spring: - taskDefinition caffeine: spec: maximumSize=100,expireAfterWrite=300s,recordStats + sql: + init: + schema-locations: classpath:sql/dolphinscheduler_h2.sql datasource: driver-class-name: org.h2.Driver - url: jdbc:h2:mem:dolphinscheduler;MODE=MySQL;DB_CLOSE_DELAY=-1;DATABASE_TO_LOWER=true;INIT=runscript from 'classpath:sql/dolphinscheduler_h2.sql' + url: jdbc:h2:mem:dolphinscheduler;MODE=MySQL;DB_CLOSE_DELAY=-1;DATABASE_TO_LOWER=true username: sa password: "" quartz: diff --git a/dolphinscheduler-worker/src/main/java/org/apache/dolphinscheduler/server/worker/plugin/TaskPluginManager.java b/dolphinscheduler-worker/src/main/java/org/apache/dolphinscheduler/server/worker/plugin/TaskPluginManager.java index 3ad464891f..08610a2d3a 100644 --- a/dolphinscheduler-worker/src/main/java/org/apache/dolphinscheduler/server/worker/plugin/TaskPluginManager.java +++ b/dolphinscheduler-worker/src/main/java/org/apache/dolphinscheduler/server/worker/plugin/TaskPluginManager.java @@ -39,6 +39,8 @@ import javax.annotation.PostConstruct; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.boot.context.event.ApplicationReadyEvent; +import org.springframework.context.event.EventListener; import org.springframework.stereotype.Component; @Component @@ -62,8 +64,8 @@ public class TaskPluginManager { return Collections.unmodifiableMap(taskChannelMap); } - @PostConstruct - public void installPlugin() { + @EventListener + public void installPlugin(ApplicationReadyEvent readyEvent) { final Set names = new HashSet<>(); ServiceLoader.load(TaskChannelFactory.class).forEach(factory -> {