본문 바로가기
728x90
반응형

개발/JAVA7

Spring Boot 2.7.10 + ShedLock으로 배치 이중화 설정하기 (멀티 서버 환경 대응) Spring Boot 2.7.10 + ShedLock으로 배치 이중화 설정하기 (JBoss EAP 7.3 + CUBRID 10.2 + Maven) 이번 프로젝트에서는 JBoss EAP 7.3 환경에서 Spring Boot 애플리케이션을 운영하며, 배치 작업은 스케줄 기반으로 실행되고 있습니다. DB는 CUBRID 10.2를 사용하고, 빌드 툴은 Maven입니다. JBoss 클러스터링을 통해 세션을 공유할 수는 있었지만, @Scheduled로 등록된 배치 작업은 각 서버에서 중복 실행되는 문제가 발생했습니다. 이를 해결하기 위해 ShedLock을 도입하여 DB 기반의 분산 락으로 배치 이중화를 구현했습니다. 1. Sh.. 2025. 5. 16.
[JAVA/Spring] LoginInterceptor 로그인 인터셉터 관리자가 로그인시 등록된 IP인지 확인 후 로그인 처리를 하기 위해 LoginInterceptor를 추가해줬다. 인터셉터란 컨트롤러에 요청하는 httpRequest, 응답하는 httpResponse를 가로채는 역할을 하여 업무로그나 관리자 페이지 접근전에 인증하는 용도로 활용할 수있다. 1. 환경설정 - spring-servlet.xml - spring-servlet.xml에 인터셉터 추가 이미 추가된 인터셉터가 있을 경우 추가된 인터셉터 하단에 추가 - 하단의 소스는 /main/login/login.do 로 요청시 가로채 LoginInterceptor을 실행한다는 의미 (미입력시 모든요청을 가로챔) 2. 테이블 생성 --테이블생성 CREATE TABLE com_adm_acc_ip_l ( ip_no CH.. 2021. 7. 2.
보안점검 조치 패스워드 검증(연속된 숫자/문자, 영문대소문자,특수문자포함 9~20자리 패스워드 검증) 비밀번호 조건 1. 0~9까지 숫자가 최소 1개 이상이면서 영문대소문자 최소 1개 이상 포함, 특수문자 최소 1개 이상 포함되어 공백이 없고 9~20자리 2. 연속된 숫자 4자리, 동일 문자 4자리 검증 //패스워드 검증 if (checkPw(newPwd) == false){ map.put("message", "비밀번호는 공백 없는 영문 대소문자, 특수문자, 숫자를 포함한 9~20자리 암호로 설정해주세요."); map.put("resultData", false); return map; } //연속된 숫자, 문자 4자리 검증 if ( continuousPw(newPwd) ) { //트루면 연속된 숫자 또는 문자열이 있음 map.put("message", "비밀번호에 연속된 숫자 또는 문자열이 존재합니다.".. 2021. 5. 28.
MyBatis 카멜 자동변환(바로) 카멜표기법 변환 좌측 박스에 입력시 선택된 변환종류에 따라 자동변환됩니다. 엑셀로 작업하다 회사사원이 쓰는것을 보고 편의상 만든것이며 계속 추가될 수 있습니다. 1. 스네이크 카멜변환 2. iBATIS 용 카멜변환 3. MyBatis용 카멜변환 4. VO용 카멜변환 5.iBATIS UPDATE SQL 6.MyBatis UPDATE SQL ※ 대문자인경우, 언더바가 없는경우 수정완료 CAMEL변환 변환종류선택 MyBatis(#{abcDef}) MyBatis UPDATE 변환전 변환후 초기화 IBatis변환 클립보드 복사 Camel, VO변환 2021. 5. 17.
728x90
반응형