查看Spring Actuator MetricsWebFilter并看到了這段代碼:@Overridepublic Mono<Void> filter(ServerWebExchange exchange, WebFilterChain chain) { return chain.filter(exchange).compose((call) -> filter(exchange, call));}private Publisher<Void> filter(ServerWebExchange exchange, Mono<Void> call) { long start = System.nanoTime(); ServerHttpResponse response = exchange.getResponse(); return call.doOnSuccess((done) -> success(exchange, start)) ... more code ...}沒有compose()映射會有什么區(qū)別嗎?@Overridepublic Mono<Void> filter(ServerWebExchange exchange, WebFilterChain chain) { return chain.filter(exchange).doOnSuccess( ... ) ... more code...}我的線索是,compose()與transform(). doOnSuccess()但是每個訂閱者也執(zhí)行一次。是否只是為了方便,使用filter(...)函數(shù)而不是內(nèi)聯(lián)代碼?
在 mono.compose( ) 中添加 doOnSuccess( ) 與簡單的
慕田峪9158850
2021-08-19 21:18:51