套餐客户; 导入lombok.AllArgsConstructor; 导入lombok.Data; 导入lombok.NoArgsConstructor; 导入lombok.RequiredArgsConstructor; 导入lombok.extern.slf4j.Slf4j; 导入org.springframework.boot.SpringApplication; 导入org.springframework.boot.autoconfigure.SpringBootApplication; 导入org.springframework.boot.context.event.ApplicationReadyEvent; 导入org.springframework.context.ApplicationListener; 导入org.springframework.context.annotation.Bean; 导入org.springframework.stereotype.Component; 导入org.springframework.web.reactive.function.client.WebClient; 导入reactor.core.publisher.Flux; 导入reactor.core.publisher.Mono; 导入java.time.Duration; @ slf4j @SpringBootApplication 公共类ClientApplication { 公共静态void main(String [] args){ log.info(“启动客户端”); SpringApplication.run(ClientApplication.class,args); } @豆角,扁豆 WebClient webClient(WebClient.Builder builder){ 返回builder.build(); } @豆角,扁豆 ApplicationListener <ApplicationReadyEvent>就绪(AvailabilityClient客户端){ 返回applicationReadyEvent-> { for(var console:“ ps5,xbox,ps4,switch” .split(“,”)){ Flux.range(0,20).delayElements(Duration.ofMillis(100))。subscribe(i-> 客户 .checkAvailability(控制台) .subscribe(可用性-> log.info(“控制台:{},可用性:{}”,控制台,Availability.isAvailable()))); } }; } } @数据 @AllArgsConstructor @NoArgsConstructor 类的可用性{ 私有布尔可用; 私有String控制台; } @成分 @RequiredArgsConstructor 类AvailabilityClient { 私有最终WebClient webClient; 私有静态最终字符串URI =“ http:// localhost:8083 / availability / {console}”; Mono <Availability> checkAvailability(字符串控制台){ 返回this.webClient 。得到() .uri(URI,控制台) 。取回() .bodyToMono(Availability.class) .onErrorReturn(new Availability(false,console)); } }
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.bianchenghao6.com/java-jiao-cheng/5081.html