이 글은 인프런 정수원님의 강의를 복습하며 작성한 글입니다. Spring Batch : Retry Spring Batch는 Chunk 기반 Step에서 예외가 발생했을 때, 잘 동작하도록 Retry 기능을 지원해준다. 앞서 Skip 기능에 대해 정리를 했었는데, Skip 기능과 더불어 Retry 기능도 지원한다. Retry 기능은 Chunk Step을 처리하면서 Exception이 발생했을 때, 재시도를 통해서 Step이 정상적으로 성공하는 것을 도모한다. 한 가지 알아두어야 할 점은 Retry는 ItemReader에서는 지원하지 않는다. Retry는 ItemProcessor, ItemWriter에서만 지원한다. 따라서 ItemReader에서는 Skip 기능만 지원한다는 것을 잘 이해해두자. Retry의..
이 게시글은 인프런 정수원님의 강의를 복습하며 작성한 글입니다. Spring Security Login 기능 Spring Security는 Login 기능을 제공해준다. Spring MVC의 필터나 인터셉터 기능을 이용해서 로그인 기능을 구현할 수도 있으나, Spring Security가 제공하는 Login 기능을 이용하면 더욱 더 쉽게 처리를 할 수 있게 된다. 간단히 정리하고 들어가보면 Spring Security Login 기능은 필터를 기준으로 처리가 되고, 인증이 완료되면 이를 바탕으로 인증 객체가 만들어진다. 그리고 만들어진 인증 객체는 Security Context에 JSESSION ID와 함께 저장되고, SESSION에 Security Context는 저장된다. 그리고 사용자는 JSESSI..
이 글은 인프런 정수원님의 강의를 복습하며 정리한 글입니다. Spring Security 사용자 정의 보안 기능 앞선 게시글에서 Spring Security는 아주 기초적인 보안 기능을 제공한다고 했다. 그렇지만 아주 기초의 기초이기 때문에 그걸 그대로 사용할 수 없다. 따라서 사용자는 Spring Security가 제공하는 기능을 확장해서 사용자 정의 보안 기능을 구현해야한다. 기본적으로 Spring Security는 WebSecurityConfigurerAdapter 클래스를 이용해 보안을 설정해준다. 따라서 사용자 정의 보안 설정을 하고 싶다면, WebSecurityConfigurerAdapter 클래스를 상속한 클래스를 만들어주고, 빈으로 등록해줘야 한다. Spring Security Form 인..
이 글은 인프런 정수원님의 강의를 복습하며 작성한 글입니다 Spring Security 시작 Spring Security는 스프링 진영에서 제공하는 Spring 관련 보안 라이브러리다. 기존에는 사용자가 필터, 인터셉터를 이용해서 보안 처리를 했었는데 Spring Security는 좀 더 개발자들이 효율적으로 보안처리를 할 수 있도록 여러 확장 가능한 기능을 제공한다. Spring Security 설정 dependencies { implementation 'org.springframework.boot:spring-boot-starter-security' } Spring Security를 사용하려면 의존성 주입이 필요하다. 다음과 같이 build.gradle에 의존성 주입을 해주면 사용이 가능해진다. 혹은..
이 게시글은 인프런 정수원님의 강의를 복습하며 작성한 글입니다 Multi-Threaded Step Multi-Threaded Step은 Chunk 기반의 멀티 쓰레드 스텝이다. Chunk 기반으로 처리를 하게 되는데, 이 때 멀티 쓰레딩 환경으로 동작하게 되면서 일반적인 Single 쓰레드 방식의 Chunk 쓰레드 방식보다 조금 더 빠르게 동작할 가능성이 있다. Chunk는 각 ItemReader / ItemProcessor / ItemWriter마다 Chunk를 새로 만들어서 전달해주는 방식 때문에 멀티 쓰레딩 환경에서 동기화를 처리하는데 좀 더 수월하게 접근할 수 있다. Multi-Threaded Step의 구성 Multi-Threaded Step은 TaskExecutorRepeatTemplate을 ..