From 6ed419b42506c3a4fc0230955a1ed153ef1335ac Mon Sep 17 00:00:00 2001 From: LamGC Date: Sun, 15 Aug 2021 23:16:26 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E8=B0=83=E6=95=B4=E8=BF=90?= =?UTF-8?q?=E8=A1=8C=E7=8E=AF=E5=A2=83=E7=9A=84=E5=88=9D=E5=A7=8B=E5=8C=96?= =?UTF-8?q?=E6=97=B6=E6=9C=BA.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 调整初始化时机在所有 Bean 构造之前, 以更快的将缺失目录创建. --- .../oracle/sentry/ApplicationInitiation.java | 42 +++++++------------ 1 file changed, 16 insertions(+), 26 deletions(-) diff --git a/src/main/java/net/lamgc/oracle/sentry/ApplicationInitiation.java b/src/main/java/net/lamgc/oracle/sentry/ApplicationInitiation.java index 498eb47..ae1b276 100644 --- a/src/main/java/net/lamgc/oracle/sentry/ApplicationInitiation.java +++ b/src/main/java/net/lamgc/oracle/sentry/ApplicationInitiation.java @@ -9,21 +9,19 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; -import org.springframework.context.ApplicationContextInitializer; -import org.springframework.context.ConfigurableApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.lang.NonNull; +import javax.annotation.PostConstruct; import java.io.File; import java.io.IOException; /** * @author LamGC */ -@SuppressWarnings("rawtypes") @Configuration -public class ApplicationInitiation implements ApplicationContextInitializer { +public class ApplicationInitiation { private final static Logger log = LoggerFactory.getLogger(ApplicationInitiation.class); @@ -99,20 +97,10 @@ public class ApplicationInitiation implements ApplicationContextInitializer { return manager; } - @Override - public void initialize(ConfigurableApplicationContext applicationContext) { - try { - boolean result = initialDirectory(); - if (result) { - System.exit(1); - } - } catch (IOException e) { - throw new RuntimeException(e); - } - } - - private boolean initialDirectory() throws IOException { + @PostConstruct + private void initialEnvironment() throws IOException { String[] directors = new String[] { + "./config", identityDirectory, scriptsLocation }; @@ -121,23 +109,25 @@ public class ApplicationInitiation implements ApplicationContextInitializer { sshIdentityPath }; - boolean hasFailure = false; for (String directory : directors) { File dir = new File(directory); - if (!dir.exists() && !dir.mkdirs()) { - log.error("文件夹 {} 创建失败.", dir.getCanonicalPath()); - hasFailure = true; + if (!dir.exists()) { + if (!dir.mkdirs()) { + log.error("文件夹 {} 创建失败.", dir.getCanonicalPath()); + + } } } for (String file : files) { File dir = new File(file); - if (!dir.exists() && !dir.createNewFile()) { - log.error("文件 {} 创建失败.", dir.getCanonicalPath()); - hasFailure = true; + if (!dir.exists()) { + if (!dir.createNewFile()) { + log.error("文件 {} 创建失败.", dir.getCanonicalPath()); + + } } } - log.info("目录检查完成."); - return hasFailure; + log.debug("目录检查完成."); } }