Webflux 썸네일형 리스트형 [Spring] Spring Security + Junit5 환경: Spring Boot version '2.7.5.' + spring webflux + spring security 상황 Security 설정을 다음과 같이 작성하였다. @Configuration @EnableWebFluxSecurity public class SecurityConfig { @Bean SecurityWebFilterChain securityWebFilterChain(ServerHttpSecurity http) { http .csrf().disable() .authorizeExchange( authorize -> authorize.pathMatchers("/api/v1/members/join").permitAll() .anyExchange().authenticated() ) .form.. 더보기 [Reactor] Flux란? Flux란, Reactive Streams에서 정의한 Publisher의 구현체로 0..N 개의 데이터를 발행할 수 있다. 하나의 데이터를 전달할 때마다 onNext 이벤트 발생 Flux 내의 모든 데이터의 전달 처리가 완료되면 onComplete 이벤트 발생 Flux 내의 데이터 처리 중 에러가 발생하면 onError 이벤트 코드 @Slf4j public class FluxEx { @RestController public static class FluxExampleController { @GetMapping("/flux/ex1") public Flux fluxEx1() { return Flux.just( new Event(1, "event1"), new Event(2, "event2") ); } } @.. 더보기 [Reactor] Mono란? Mono란, Reactive Streams의 Publisher 인터페이스를 구현하는 구현체이며, 0..1 개의 데이터를 처리한다. 코드 @Slf4j public class MonoEx { @RestController @RequestMapping("/mono") public static class MonoExampleController { @GetMapping("/1") public Mono ex1() { log.info("first"); Mono mono = Mono.just("Hello WebFlux").log(); log.info("second"); return mono; } } } 위 코드는 동기적으로 실행되어, 실행 결과로 first 출력 -> Mono 로그 -> second 출력을 기대했는데 실.. 더보기 [Spring] WebFlux란? Spring5에서 새롭게 추가된 Reactive 스타일의 어플리케이션 개발을 도와주는 Reactive-Stack Web Framework 특징 클라이언트와 서버에서 Reactive 애플리케이션 개발을 위한 non-blocking Reactive Stream(Reactor)을 지원한다. 적은 양의 스레드로 동시성을 처리한다. Functional Programming AsyncRestTemplate -> WebClient DeferredResult -> Mono, Flux(Publisher) SpringMVC와 WebFlux 비교 SpringMVC 하나의 요청에 대해 하나의 스레드가 사용된다.(thread-per-request) -> 다수의 요청을 대비하여 미리 스레드 풀을 생성해 놓으며, 각 요청마다 스레.. 더보기 이전 1 다음