일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- vue.js
- redis
- Docker Compose
- JPA
- grafana
- docker-compose
- netflix oss
- RabbitMQ
- QueryDSL
- cassandra
- coalesce
- Airflow
- mybatis
- docker compose mysql
- Netty
- KAFKA
- spring boot redis
- Hibernate
- docker
- WebLogic
- spring cloud
- argo cd
- Selenium
- spring boot
- ChannelPipeline
- weblogic 10
- MySQL
- Redis Sentinel
- jmeter
- Spring Open Feign
- Today
- Total
목록Spring/Spring WebFlux (3)
IT.FARMER
Spring R2DBC CRUD 예제 WebFlux 를 사용한다면, 반쪽짜리 NonBlocking 서버가 되지 않기 위해선 persisent layer 의 영역도 reactive 하게 변경해주어야 한다. 다행이 spring-r2dbc-data 와 mysql 드라이버를 지원함으로 spring r2dbc 기반 Repository를 구현 및 테스트 할수 있다. pom.xml 에 다음 라이브러리를 넣어 준다. spring-boot-starter-data-r2dbc org.springframework.boot dev.miku r2dbc-mysql runtime 데이상 dev.miku 는 동작하지 않는다, 메인터런스를 포기하고 com.github.jasync-sql로 옮겼다. mysql 의 r2dbc library..
spring webflux error 처리 Mono / Flux .doOnError() : 예외가 발생했을 경우 특정 행위를 실행 시킬대 사용 .onErrorReturn () : 예외가 발생 했을때 특정 값을 리턴 함 .onErrorResume() : 예외가 발생 했을때 오류에 따라 대체를 선택하는 기능을 사용함. 오류가 발생하면 반환된 대체 게시자를 구독 하여 사용 .onErrorContinue() : 예외가 발생 했을대 멈추지 않고 해당 영역만 skip 하고 동작함. @Slf4j public class WebFluxError { @Test public void onErrorResume() { Flux.range(0, 5) .map(integer -> { if (integer == 3) { throw ..
webflux null, empty 처리 Mono / Flux .switchIfEmpty() : Mono/Flux 가 데이터 없이 완료된 경우 이면 대체 Mono, Flux 로 대체 함. @RequestMapping("/audience/get") public Mono findAudienceV2(ServerHttpRequest serverHttpRequest) { try { String serverId = serverHttpRequest.getQueryParams().getFirst("server_id"); String id = serverHttpRequest.getQueryParams().getFirst("id"); log.debug("server id = {} id = {}", serverId, id)..