在异步观察者中调用 Uni 的最佳方式是什么?如果我能返回大学那就太好了,但不幸的是这是行不通的。
void observe(@ObservesAsync MyEvent event) {
Uni<Object> task;
}
正如@ladicek 提到的,你可以:
CompletionStage
void observe(@Observes MyEvent event) {
Uni<Void> uni = ...;
uni.await().indefinitely();
}
void observe(@Observes MyEvent event) {
Uni<Void> uni = ...;
uni.subscribeAsCompletionStage(); // Fire and forget, no error reporting
}
或者:
void observe(@Observes MyEvent event) {
Uni<Void> uni = ...;
uni.subscribe().with(success -> ..., failure -> log(failure));
}
CompletionStage
CompletionStage<Void> observe(@ObservesAsync MyEvent event) {
Uni<Void> uni = ...;
return uni.subscribeAsCompletionStage();
}