Programming/스프링.유틸 7

AWS AMI 환경에서 Selenium 크롬 드라이버 이슈 해결 방법

String chromeDriver = System.getProperty("chrome.driver");String chromeSetup = System.getProperty("chrome.setup");log.info("chromeSetup ===> " + chromeSetup);log.info("chromeDriver ===> " + chromeDriver);System.setProperty("webdriver.chrome.driver", chromeDriver);ChromeOptions options = new ChromeOptions();options.addArguments("--disable-extensions");options.addArguments("--headless"); // GUI 환..

[JAVA] TempFileCleanJob - 임시 파일 정리 작업 구현

1. 개요TempFileCleanJob 클래스는 시스템에서 주기적으로 임시 파일을 삭제하는 스케줄 작업을 수행하는 Java 클래스입니다. 이 작업을 통해 불필요한 임시 파일을 삭제함으로써 디스크 공간을 확보하고 시스템 성능을 유지할 수 있습니다. Spring Framework와 Quartz Scheduler를 사용하여 주기적인 파일 정리 작업을 자동화합니다.2. 내용TempFileCleanJob 클래스는 다음과 같은 주요 구성 요소로 이루어져 있습니다:Quartz Scheduler와의 통합: @DisallowConcurrentExecution 어노테이션을 사용하여 동시에 여러 작업이 실행되지 않도록 보장합니다.Spring Framework 의존성 주입: @Autowired 어노테이션을 사용하여 필요한 서..

[Java][SSH] Jsch Java SSH 라이브러리 사용 주의 사항

1. 개요 Tmax사 Anylink 제품을 설정 하던 중 이슈가 발생하였다. Anylink 전문 연계 중 파일 업로드 관련을 SSH + SFTP으로 업/다운로드를 하는 서비스가 존재하여, 기존 비밀번호 기간 만료로 인해 OS AIX, LINUX 등 Pam 모듈 제한이 발생하였다. 임시 조치 → 서비스 정상화 확인 후 대안 방안을 고민하던 중 RSA Public, Private 인증 방식을 떠올라 적용하고자 한다. 2. 이슈 1) ssh-keygen 기본 모듈로 하면 안된다! (정상케이스는 하단 참조) #잘못된 예시 -- OPEN SSH 로 생성된 RSA 인증서 파일은 정식 모듈이 아니다! ssh-keygen -t rsa $ cat /c/Users/YYH-G/.ssh/id_rsa.pub ssh-rsa AA..

[자바][JAVA][파일업로드]자바 파일업로드 기초 소스 (초급자용)

1. 개요 소스를 보면 알겠지만 여기서 포인트는 "audio", "useraudio", "banner" 등에 써있는 확장자 필터링이다. 다만 해당 소스는 절대로 완벽하지 않으며, 확장자를 명확하게 분류하기 위해서는 Tika, URL Class에 ContentType 추출 기능을 이용해서 해당 파일을 분류하는게 맞다. 해당 소스는 어디까지나 초급자를 위한 IO 처리 방식이며, IO를 처리하기 위한 방법은 매우 다양하다. ※ 참고 : 1) IOUtils 2) Commons-Fileupload 3) FileUtils 4) Spring-FileUtils 5) FileCopyUtils 6) FilenameUtils 가 있으니 내 블로그 아닌 다른 블로그를 참고! => 추후 다룰 예정이기 때문. import jav..

[Spring F/W 유틸] Dynamic Get Bean Object

1. 개요 Bean 객체를 가져오는 방법은 여러가지가 존재하며, 상황에 따라 싱글톤 패턴이 아닌 Prototype 형태로 가져와야하는 케이스가 존재하기 때문에 용도에 맞게 선택을 잘해야한다. 2. 방법 1항에서 이야기한 부분을 내가 개발했던 구성에 적용해본다. 1) 싱글톤 객체 가져오기 @Autowired private ApplicationContext ctx; // Dynamic GetBean Style public void test() { ctx.getBean(AccountService.class).loginCheck(); } @Autowired private AccountService accountService; // @Autowired Annotation을 통한 의존성 주입 public void ..

[Spring F/W 유틸] RequestUtil (HttpServletRequest, HttpServletResponse) 선언 제거기

1. 변경 요지 스프링을 사용하다보면 누구나 @Controller @RequestMapping단에서 HttpServletRequest request, HttpServletResponse response 를 매개변수로 받는 메소드를 많이 작성하였을 것이다. 사실 필요하든 하지 않든 선택이 아닌 거의 필수로 추후 사용을 위해서 넣은 경우도 많았을 것으로 보여진다. 2. 변경 형태 1) HttpServletRequest와 HttpServletResponse를 매개변수에 사용하지 않고 스프링 리퀘스트 컨텍스트 홀더 (Spring RequestContextHolder) 영역에서 가져와 Java-Object의 call by Reference 형태로 사용한다. 2) 주의점은 프로젝트마다 RequestContextHo..