当前位置: 首页 > 后端技术 > Java

Reactor编程如何处理并发远程调用

时间:2023-04-02 01:48:32 Java

1、搭建一个简单的webflux项目pom依赖很简单,就一个,让它传递依赖,底层依赖netty版本4.1.72,最新版本是4.1.73:org.springframework.bootspring-boot-starter-webflux2.6.2会有很多debug默认记录日志,如果影响调试观察,可以设置日志logback.xml:System.out[%d][%thread]%-5level%logger{36}-%msg%n启动类,可以根据配置指定ioworker的个数。默认情况下,运行时将使用@SpringBootApplicationpublic类来获取核心数WebfluxApplication{publicstaticvoidmain(String[]args){System.setProperty("reactor.netty.ioWorkerCount","4");SpringApplication.run(WebfluxApplication.class,args);}}2、编写并运行调用的controller@GetMapping("/zip")publicMonozip(){Monomono1=client.get().uri("abc1").retrieve().bodyToMono(字符串类);Monomono2=client.get().uri("abc2").retrieve().bodyToMono(String.class);返回Mono.zip(mono1,mono2,User::combine);}公共类用户{staticObjectMapperobjectMapper=newObjectMapper();publicstaticStringcombine(Strings1,Strings2){try{Mapmap1=objectMapper.readValue(s1,newTypeReference>(){});Mapmap2=objectMapper.readValue(s2,Map.class);map1.putAll(map2);返回rnobjectMapper.writeValueAsString(map1);}catch(JsonMappingExceptione){e.printStackTrace();}catch(JsonProcessingExceptione){e.printStackTrace();}返回“测试”;接口,并整合两个结果。