일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- spring boot
- QueryDSL
- Spring Open Feign
- ChannelPipeline
- vue.js
- JPA
- cassandra
- mybatis
- Airflow
- docker compose mysql
- jmeter
- argo cd
- weblogic 10
- coalesce
- Netty
- Docker Compose
- docker-compose
- RabbitMQ
- netflix oss
- Redis Sentinel
- grafana
- Selenium
- docker
- spring cloud
- Hibernate
- WebLogic
- redis
- KAFKA
- MySQL
- spring boot redis
- 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)..