반응형

Programing/Java & Spring 39

세무민의 코딩일기 : Spring Batch JobParameterVaildator

안녕하세요. 세기무민입니다. 이번에 다뤄볼 포스팅은 JobParameterVaildator에 대한 내용을 다뤄보려고 합니다. 1. JobParameterVaildator? Job 실행에 꼭 필요한 JobParameter에 대한 검증하는 용도로 사용됩니다. 기본적으로 DefaultJobParametersValidator 을 제공하지만 직접 인터페이스를 구현하여 사용하는 방법도 있습니다. 2.JobParameterVaildator 사용 이유? Scheduler로 실행시켜서 작동하는 케이스에 대해서는 Vaildation을 하지 않아도 무관하다고 생각됩니다. 다만, Controller 혹은 Jenkins로 처리하는 케이스와 같이 직접 파라미터를 전달하는 케이스에 대해서는 문제 없이 유효한 값들이 전달 되었는지 ..

세무민의 코딩일기 : Spring Batch API 만들기 2탄(Job, Step, TaskLet를 직접 사용해보자)

안녕하세요 세기무민입니다. 이전 포스팅에서는 Spring Batch 이론에 대해 다뤄봤다면 이번 프로젝트에서는 실제 코드를 작성해보려고 합니다. 👇이전 포스팅은 아래 링크로👇 세무민의 코딩일기 : Spring Batch API 만들기 1탄(Spring Batch, Scheduler, TaskLet, Chunk등 이론 정리) 안녕하세요. 오랜만에 코딩일기로 돌아온 세무민입니다. 사실 요즘 회사 일에 치여서 이걸 포스팅 할까 고민하다가 그래도 Spring Batch에 대해 조금이나마 작성하면 좋을 것 같아서 포스팅으로 남 sg-moomin.tistory.com 1. 개발 환경 및 고려 사항 기술 스택은 아래와 같습니다. Spring Boot 2.7.3 H2 Database JPA(native, jpql) 초..

세무민의 코딩일기 : Spring Batch API 만들기 1탄(Spring Batch, Scheduler, TaskLet, Chunk등 이론 정리)

안녕하세요. 오랜만에 코딩일기로 돌아온 세무민입니다. 사실 요즘 회사 일에 치여서 이걸 포스팅 할까 고민하다가 그래도 Spring Batch에 대해 조금이나마 작성하면 좋을 것 같아서 포스팅으로 남깁니다. 1. Spring Batch 개발을 하게 된 목적 목적은 서비스에 산재되어 있는 Scheduler를 하나의 서비스로 모으는데 목적을 가졌었어요 그러면서 조금이나마 Spring Batch와 Quartz에 대해 개인적으로 프로젝트를 해보게 되었답니다. 2. Spring Batch VS Spring Scheduler Batch란 일괄처리를 말하며 사용자의 상호작용 없이 여러개의 작업을 미리 정해진 순서에 따라 중단 없이 처리 Scheduler는 특정한 시간에 등록한 작업을 자동으로 실행시키는 것을 의미 Sc..

[Spring] Scheduling LockProvider 사용 목적과 사용 시 고려할 사항 정리

최근에 업무를 하다가 Scheduling 변경 사항이 존재하여 LockProivder에 대해 알아봤는데 내가 알아본 내용과 업무 시 고려해야 할 사항에 대해 간략하게 정리를 해보려고 한다. 1. LockProvider 사용 목적 및 의미 LockProvider를 사용하는 목적은 아래와 같다. - 스케줄러의 중복 실행 방지 - 실무에서 하나의 어플리케이션을 이중화 및 N중화를 한 경우가 대부분이다. 서버가 많으면 많을 수록 스케줄러의 Lock은 중요한 사항이 되며 이를 하지 않는 경우 어떤 서버가 배치를 처리해야 할 지 모르기 때문에 중복 실행이 될 수 있고 이는 큰 문제가 될 수 있다.(예를 들어 결제 시스템 새벽 배치인 경우 결제가 여러번 될 수 있다는 의미) - 따라서 순서와 관계 없이 1개의 서버가..

Java 예외(Exception) 처리 이론 정리

개요 예외 처리 로직은 귀찮지만 운영상 이슈를 체크할 때 필요한 코드입니다. Exception 의 경우 로직 처리를 하지 않더라도 발생은 되지만 RuntimeException은 컴파일 시 발견하지 못하는 에러에 대해 처리가 필요하며 또한 클라이언트에게 오류 메세지를 전달 시 규칙성이 갖춰진 형식으로 전달하는 것이 조금 더 효율적이다. 예외처리(Exception) 기초 기본적으로 예외처리에는 Error와 Exception으로 나눠지는데 이를 구분할 필요가 있다. Throwable는 Java 언어의 모든 오류 및 예외의 상위 클래스이며 VirtualMachine에 의해 혹은 throw/catch 절을 통해 발생(Throw) 될 수 있습니다. Error(오류)의 경우 Exception으로 처리하기 어려울 정도..

반응형