我有一个简单的服务器和客户端设置:
Flux.range(1, 5000)
.subscribeOn(Schedulers.parallel())
.flatMap(i -> WebClient.create()
.method(HttpMethod.POST)
.uri("http://localhost:8080/test")
.body(Mono.just(String.valueOf(i)), String.class)
.exchange())
.publishOn(Schedulers.parallel())
.subscribe(response ->
response.bodyToMono(String.class)
.publishOn(Schedulers.elastic())
.subscribe(body -> log.info("{}", body)));
Run Code Online (Sandbox Code Playgroud)
这是客户:
@PostMapping
public Mono<String> test(@RequestBody Mono<String> body) {
return body.delayElement(Duration.ofSeconds(5));
}
Run Code Online (Sandbox Code Playgroud)
两者都运行在 netty 上。也许有人知道是什么导致了这种行为?
我有RequestScoped bean,因为我将用户从dataTable重定向到记录到编辑页面.在这个dataTable我有删除按钮:
<p:column>
<p:commandButton update=":deleteNewsDialog" oncomplete="deleteNewsDlg.show()" icon="ui-icon-closethick">
<f:setPropertyActionListener value="#{news}" target="#{newsBean.news}" />
</p:commandButton>
</p:column>
Run Code Online (Sandbox Code Playgroud)
这是对话框:
<p:confirmDialog id="deleteNewsDialog" message="Czy na pewno chcesz usun?? wiadomo?? o tytule "#{newsBean.news.title}"?"
header="Usuwanie wiadomo?ci" severity="alert"
widgetVar="deleteNewsDlg" appendToBody="true">
<h:form>
<p:commandButton value="Usu?" actionListener="#{newsBean.delete}" update=":newsesTableForm:newsesTable, :newsesTableForm:newsGrowl"/>
<p:commandButton value="Anuluj" oncomplete="deleteNewsDlg.hide();"/>
</h:form>
</p:confirmDialog>
Run Code Online (Sandbox Code Playgroud)
当触发newsBean.delete时,newsBean不再存在,因此我得到了许多丑陋的验证异常.我有ViewScoped豆这样的其他页面,它就像一个魅力.救命?