Java 反应堆静止单核返回:可用:真
我一直在开发一个Java微服务,它使用Reactor来简化异步调用。在我的端点上,我有以下代码:Java 反应堆静止单核返回:可用:真,java,spring,reactor,Java,Spring,Reactor,我一直在开发一个Java微服务,它使用Reactor来简化异步调用。在我的端点上,我有以下代码: @HystrixCommand @ApiOperation(value = "Resolve Dispute") @PostMapping(consumes = APPLICATION_JSON_VALUE, produces = APPLICATION_JSON_VALUE, path = "/resolve") public Mono<RestResponse<RestRespons
@HystrixCommand
@ApiOperation(value = "Resolve Dispute")
@PostMapping(consumes = APPLICATION_JSON_VALUE, produces = APPLICATION_JSON_VALUE, path = "/resolve")
public Mono<RestResponse<RestResponseResult>> resolveDispute(@RequestBody ResolveDisputeRequest requestJson, @RequestParam("appToken") String appToken) {
if (apiAppToken.equals(appToken)) {
EnumsUtils.getEnumValue(DisputeReason.values(), requestJson.getResolutionType(), requestJson);
return facebookApiService.resolveDispute(requestJson).single();
} else {
throw new InvalidTokenException(requestJson.getUserId());
}
}
然而,当我检查代码时,我意识到响应是在代码完成其“过程”之前发出的。答复如下:
{
"scanAvailable": true
}
这让我相信这与反应器的异步性质有关,但不符合我的需要
我应该如何正确使用反应堆以获得所需的响应?我不希望使用使调用阻塞的block
方法
提前感谢您提供的任何帮助
祝你一切顺利
亚历杭德罗这是反应性代码还是即时代码 EnumsUtils.getEnumValue(DisputeReason.values(),requestJson.getResolutionType(),requestJson);
?我面临aspectj编织的一些问题
响应
{“scanAvailable”:true}
来自mono.map(x->joinPoint.procedue())
,它应该是mono.flatMap(x->(mono)joinPoint.process())
我们遇到了同样的问题,结果是错误的库导入:
我的进口:
import io.micrometer.shaded.reactor.core.publisher.Flux
import io.micrometer.shaded.reactor.core.publisher.Mono
应该是:
import reactor.core.publisher.Flux
import reactor.core.publisher.Mono
Hi Ricard,getEnumValue方法是即时的。然而,解决争议的方法是被动的。我应该补充一点,我已经解决了这个问题。我将spring启动版本更新为2.0.7,并且更新了反应堆依赖项。
import reactor.core.publisher.Flux
import reactor.core.publisher.Mono