본문 바로가기

IT/Spring80

bucket4j ehcache 를 사용하여 Bucket Sort Algorithm 을 사용하려 한다. Refil 기본적으로 gready 는 정해진 시간 마다 지속적으로 리필을 해주는 형식이다. 반면에 intervally 는 한번에 리필을 해준다. public class Bucket { Refill refill = Refill.greedy(10, Duration.ofSeconds(1)); Refill refill = Refill.intervally(10, Duration.ofSeconds(1)); }Bandwidth 버킷의 총량을 설정해 준다. simple 의 경우 greedy 를 사용하게 구현되어있다. classic 의 경우 Refill 의 구현체를 직접 사용한다. import java.time.Duration; pub.. 2023. 2. 28.
2023-01-18-aop 사용한 로깅 layout : post title : "aop 사용한 로깅" category : Spring aop 를 활용한 로그를 남기려 한다. %green(%d{yyyy-MM-dd HH:mm:ss.SSS}) [%thread] %highlight(%-5level) %cyan(%logger{36}) - %msg%n point cut 으로 get post put delete 어노테이션이 있는 메서드들에 대해서 작동하도록 한다. @Component @Aspect @Slf4j @RequiredArgsConstructor public class ApiLog { @Pointcut("@annotation(org.springframework.web.bind.annotation.GetMapping) ||" + "@annotatio.. 2023. 2. 28.
spring batch 5.0 layout : post title : "spring batch 5.0" category : Spring spring boot 3.0에서 spring batch 5.0이 추가되었다. spring batch 5.0 에서 기존에 아래와 같이 사용하던 방법이 deprecated 되었다. 1. 기존 @Configuration @RequiredArgsConstructor @Slf4j public class MemberBatchJobConfig { private final JobBuilderFactory jobBuilderFactory; private final StepBuilderFactory stepBuilderFactory; private final MemberService memberService; @Val.. 2023. 2. 28.
2022-01-04-Ip WhiteList layout : post title : "Ip White List 확인하기" category : Spring Dependency IpAddressMatcher를 사용하는 경우 필요 implementation 'org.springframework.security:spring-security-web' spring-security-web 의존성을 추가한다. Interceptor 생성 및 등록 @RequiredArgsConstructor @Component public class IpAddressAccessControlInterceptor implements HandlerInterceptor { @Override public boolean preHandle(HttpServletRequest request, Ht.. 2023. 2. 28.