小编Ber*_*ado的帖子

使用Spring WebFlux中的webclient在Mono上有条件重复或重试

我想做的是在带有webclient的Webflux中的Mono上有条件地重复。情况如下:

我们有一些商务休息服务服务,可返回生成的文档。此文档的生成是由在此之前调用的另一服务触发的。但是,回到正题:文档生成服务需要10到30秒。我们要做的是:10秒钟后检查是否生成文档(单声道)。如果是这样,一切都很好。如果不是,请在5秒钟后重复(或重试)并检查是否生成了文档。依此类推,直到(最坏的情况)在30秒后超时。这可能吗?一些(伪)代码:

return this.webClient.post().uri(SERVICE_URL)).        
body(BodyInserters.fromObject(docRequest)).retrieve().
bodyToMono(Document.class).
delaySubscription(Duration.ofSeconds(10)).
repeat5TimesWithDynamicTimeDelayUntil(!document.isEmpty()).
subscribe();
Run Code Online (Sandbox Code Playgroud)

格蕾兹·伯纳多

java spring webclient project-reactor spring-webflux

4
推荐指数
1
解决办法
2183
查看次数

mapstruct v1.3.1FINAL:不生成从静态方法的导入

我们使用的是mapstruct 1.3.1FINAL(如果重要的话,与lombok v1.18.4结合使用)并且生成的类不会编译,因为没有生成表达式映射中使用的静态方法的导入。有什么线索吗?

@Mapping(target = "value", expression = "java(ValueUtil.getValue(sourceValue))")
Run Code Online (Sandbox Code Playgroud)

生成的代码存在编译错误,因为缺少 ValueUtil 的导入:

request.setValue( ValueUtil.getValue(sourceValue) );
Run Code Online (Sandbox Code Playgroud)

java mapstruct

4
推荐指数
2
解决办法
7296
查看次数