Spring
-
Resilience4j 관련Spring/CircuitBreaker 2023. 9. 24. 06:42
목차 ThreadPoolBulkheadConfigCustomizer io.github.resilience4j.common.bulkhead.configuration.ThreadPoolBulkheadConfigCustomizer는 Resilience4J의 Bulkhead 패턴을 사용할 때, ThreadPoolBulkhead의 동작을 커스터마이징하기 위한 인터페이스입니다. ThreadPoolBulkheadConfigCustomizer를 사용하면 다음과 같은 설정을 커스터마이징할 수 있습니다. 최대 동시 요청 수: ThreadPoolBulkhead가 동시에 처리할 수 있는 최대 요청 수를 설정합니다. 최소 동시 요청 수: ThreadPoolBulkhead가 최소한 유지해야 하는 동시 요청 수를 설정합니다. 이름..
-
Micrometer 관련Spring/CircuitBreaker 2023. 9. 24. 06:01
ContextRegistry io.micrometer.context.ContextRegistry는 Micrometer에서 제공하는 Context Registry 클래스입니다. Context Registry는 다양한 종류의 context를 관리하고, context를 통해 context에 저장된 값을 추출하는 기능을 제공합니다. Context Registry는 다음과 같은 종류의 context를 지원합니다. ThreadLocalContext: ThreadLocal을 사용하여 context를 관리합니다. ReactorContext: Reactor Context를 사용하여 context를 관리합니다. CustomContext: 사용자 정의 context를 관리합니다. Context Registry를 사용하려면 ..
-
Annotation 이 설정된 Beans 의 Scan 과 추가 Bean Register 위한 배경 지식Spring/Framework 2023. 9. 16. 16:59
AOP 로, Spring Beans 에서 필요한 bean 을 scan 하고, 추가로 bean 을 등록하기 위해 필요한 배경 지식들 입니다 BeanDefinitionRegistrar 관련 Spring ImportBeanDefinitionRegistrar Spring ImportBeanDefinitionRegistrar는 Spring 애플리케이션 컨텍스트에 추가 BeanDefinition을 등록하는 데 사용되는 인터페이스입니다. 이 인터페이스를 구현하면 @Import 애노테이션을 사용하여 Spring 애플리케이션 컨텍스트에서 추가 BeanDefinition을 등록할 수 있습니다. ImportBeanDefinitionRegistrar 인터페이스는 다음과 같은 두 가지 메서드를 제공합니다. registerBea..
-
Next-Generation Cloud Native Apps with Spring Boot 3 • Thomas Vitale • GOTO 2023 - 세미나 리뷰 ( 작성중 )Spring/Framework 2023. 9. 5. 14:57
Info https://www.youtube.com/watch?v=a5qfg9ybltM github : https://github.com/ThomasVitale/spring-boot-next-gen-apps GitHub - ThomasVitale/spring-boot-next-gen-apps: Samples showcasing new features and capabilities in Spring Boot 3 and Spring Fr Samples showcasing new features and capabilities in Spring Boot 3 and Spring Framework 6 - GitHub - ThomasVitale/spring-boot-next-gen-apps: Samples showc..
-
14장 Operator 8 - multicastSpring/Webflux 2023. 7. 30. 14:22
14.9 다수의 Subscriber 에게 Flux 를 멀티캐스팅(Muticasting)하기 위한 Operator 1) publish https://projectreactor.io/docs/core/release/api/reactor/core/publisher/Flux.html#publish-- 마블 다이어 그램에서 보다시피 publish() 는 구독을 하더라도 구독 시점에 즉시 데이터를 emit 하지 않고, connect() 를 호출하는 시점에 비로소 데이터를 emit 합니다 그리고 Hot Sequence 로 변환되기 때문에 구독 시점 이후에 emit 된 데이터만 전달 받을 수 있습니다. 코드 14-60 publish 예제 1 public static void main(String[] args) thro..
-
14장 Operator 7 - splitSpring/Webflux 2023. 7. 29. 17:26
github : https://github.com/bjpublic/Spring-Reactive/tree/main/part2/src/main/java/chapter14/operator_7_split 14.8 Flux Sequence 분할을 위한 Operator 1) windows https://projectreactor.io/docs/core/release/api/reactor/core/publisher/Flux.html#window-java.time.Duration- window(int maxSize) 는 Upstream 에서 emit 되는 첫 번째 데이터부터 maxSize 숫자만큼의 데이터를 포함하는 새로운 Flux 로 분할합니다. Reactor 에서는 이렇게 분할된 Flux 를 윈도우(window) ..
-
14장 Operator 6 - timeSpring/Webflux 2023. 7. 26. 23:21
github : https://github.com/bjpublic/Spring-Reactive/tree/main/part2/src/main/java/chapter14/operator_6_time 14.7 Sequence 의 동작 시간 측정을 위한 Operator delayElements(), interval(), timeout() 등 Reactor Sequence 의 동작 시간을 제어하는 Operator 를 사용해 보았는데, 이외에도 Reactor Sequence 의 동작 시간 자체를 측정하는 특별한 Operator 가 존재합니다 1) elapsed https://projectreactor.io/docs/core/release/api/reactor/core/publisher/Flux.html#elapse..
-
14장 Operator 5 - ErrorSpring/Webflux 2023. 7. 22. 19:51
github : https://github.com/bjpublic/Spring-Reactive/tree/main/part2/src/main/java/chapter14/operator_5_error 질문 flatMap vs map ? 14.6 에러 처리를 위한 Operator 1) error https://projectreactor.io/docs/core/release/api/reactor/core/publisher/Flux.html#error-java.util.function.Supplier- error() Operator 는 파라미터로 지정된 에러로 종료하는 Flux 를 생성합니다 error() 는 마치 throw 를 사용해서 예외를 의도적으로 던지는 것 같이 동작하는데 checked exception..