From f3c822587fe90a461367d5ec7676956c96e881a8 Mon Sep 17 00:00:00 2001 From: teddy Date: Tue, 3 Mar 2026 23:02:53 +0900 Subject: [PATCH 1/3] =?UTF-8?q?spotless=20=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../training/train/service/JobRecoveryOnStartupService.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/main/java/com/kamco/cd/training/train/service/JobRecoveryOnStartupService.java b/src/main/java/com/kamco/cd/training/train/service/JobRecoveryOnStartupService.java index 88b9bc7..3e3439a 100644 --- a/src/main/java/com/kamco/cd/training/train/service/JobRecoveryOnStartupService.java +++ b/src/main/java/com/kamco/cd/training/train/service/JobRecoveryOnStartupService.java @@ -20,9 +20,7 @@ import java.util.stream.Stream; import lombok.RequiredArgsConstructor; import lombok.extern.log4j.Log4j2; import org.springframework.beans.factory.annotation.Value; -import org.springframework.boot.context.event.ApplicationReadyEvent; import org.springframework.context.annotation.Profile; -import org.springframework.context.event.EventListener; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; @@ -58,7 +56,7 @@ public class JobRecoveryOnStartupService { *

@Transactional: - recover() 메서드 전체가 하나의 트랜잭션으로 감싸집니다. - Job 하나씩 처리하다가 예외가 발생하면 전체 롤백이 될 수 * 있으므로 "잡 단위로 확실히 커밋"이 필요하면 (권장) 잡 단위로 분리 트랜잭션(REQUIRES_NEW) 고려하세요. */ -// @EventListener(ApplicationReadyEvent.class) + // @EventListener(ApplicationReadyEvent.class) @Transactional public void recover() { From e9f8bb37fab0655ce2a7e3788f51c75a5338f976 Mon Sep 17 00:00:00 2001 From: teddy Date: Tue, 3 Mar 2026 23:06:45 +0900 Subject: [PATCH 2/3] =?UTF-8?q?spotless=20=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cd/training/common/utils/FIleChecker.java | 87 ------------------- 1 file changed, 87 deletions(-) diff --git a/src/main/java/com/kamco/cd/training/common/utils/FIleChecker.java b/src/main/java/com/kamco/cd/training/common/utils/FIleChecker.java index 12364b8..a44e9c5 100644 --- a/src/main/java/com/kamco/cd/training/common/utils/FIleChecker.java +++ b/src/main/java/com/kamco/cd/training/common/utils/FIleChecker.java @@ -3,7 +3,6 @@ package com.kamco.cd.training.common.utils; import static java.lang.String.CASE_INSENSITIVE_ORDER; import com.jcraft.jsch.ChannelExec; -import com.jcraft.jsch.ChannelSftp; import com.jcraft.jsch.JSch; import com.jcraft.jsch.Session; import com.kamco.cd.training.common.exception.CustomApiException; @@ -787,92 +786,6 @@ public class FIleChecker { return destFile; } - public static void uploadTo86(Path localFile) { - - String host = "192.168.2.86"; - int port = 22; - String username = "kcomu"; - String password = "Kamco2025!"; - - String remoteDir = "/home/kcomu/data/request"; - - Session session = null; - ChannelSftp channel = null; - - try { - JSch jsch = new JSch(); - - session = jsch.getSession(username, host, port); - session.setPassword(password); - - Properties config = new Properties(); - config.put("StrictHostKeyChecking", "no"); - session.setConfig(config); - - session.connect(10_000); - - channel = (ChannelSftp) session.openChannel("sftp"); - channel.connect(10_000); - - // 목적지 디렉토리 이동 - channel.cd(remoteDir); - - // 업로드 - channel.put(localFile.toString(), localFile.getFileName().toString()); - - } catch (Exception e) { - throw new RuntimeException("SFTP upload failed", e); - } finally { - if (channel != null) channel.disconnect(); - if (session != null) session.disconnect(); - } - } - - public static void unzipOn86Server(String zipPath, String targetDir) { - - String host = "192.168.2.86"; - String user = "kcomu"; - String password = "Kamco2025!"; - - Session session = null; - ChannelExec channel = null; - - try { - JSch jsch = new JSch(); - - session = jsch.getSession(user, host, 22); - session.setPassword(password); - - Properties config = new Properties(); - config.put("StrictHostKeyChecking", "no"); - session.setConfig(config); - - session.connect(10_000); - - String command = "unzip -o " + zipPath + " -d " + targetDir; - - channel = (ChannelExec) session.openChannel("exec"); - channel.setCommand(command); - channel.setErrStream(System.err); - - InputStream in = channel.getInputStream(); - channel.connect(); - - // 출력 읽기(선택) - try (BufferedReader br = new BufferedReader(new InputStreamReader(in))) { - while (br.readLine() != null) { - // 필요하면 로그 - } - } - - } catch (Exception e) { - throw new RuntimeException(e); - } finally { - if (channel != null) channel.disconnect(); - if (session != null) session.disconnect(); - } - } - public static List execCommandAndReadLines(String command) { List result = new ArrayList<>(); From 8190a6e9c8c61bb146f464205b9b4ebbf60f6218 Mon Sep 17 00:00:00 2001 From: "gayoun.park" Date: Tue, 10 Mar 2026 14:19:22 +0900 Subject: [PATCH 3/3] unzip --- .../com/kamco/cd/training/common/utils/FIleChecker.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/main/java/com/kamco/cd/training/common/utils/FIleChecker.java b/src/main/java/com/kamco/cd/training/common/utils/FIleChecker.java index 12364b8..6ba9a5b 100644 --- a/src/main/java/com/kamco/cd/training/common/utils/FIleChecker.java +++ b/src/main/java/com/kamco/cd/training/common/utils/FIleChecker.java @@ -720,18 +720,26 @@ public class FIleChecker { public static void unzip(String fileName, String destDirectory) throws IOException { String zipFilePath = destDirectory + File.separator + fileName; + log.info("fileName : {}", fileName); + log.info("destDirectory : {}", destDirectory); + log.info("zipFilePath : {}", zipFilePath); // zip 이름으로 폴더 생성 (확장자 제거) String folderName = fileName.endsWith(".zip") ? fileName.substring(0, fileName.length() - 4) : fileName; + log.info("folderName : {}", folderName); File destDir = new File(destDirectory, folderName); + log.info("destDir : {}", destDir); // 동일 폴더가 이미 있으면 삭제 + log.info("111 destDir.exists() : {}", destDir.exists()); if (destDir.exists()) { deleteDirectoryRecursively(destDir.toPath()); } + log.info("222 destDir.exists() : {}", destDir.exists()); if (!destDir.exists()) { + log.info("mkdirs : {}", destDir.exists()); destDir.mkdirs(); }