如何从@ObserverAsync事件返回值到回调方法

时间:2018-06-03 11:22:10

标签: java java-ee-8 cdi-2.0

我在Java EE8中使用异步事件

CompletionStage<MyData> completion = dataEvent.fireAsync(myData);
completion.thenAccept(this::eventDelivered);

回调方法:

void eventDelivered(MyData data) {
}

观察:

public MyData callAsyncDataApi(@ObservesAsync MyData myData) throws Exception {
   MyData result = dataClient.callDataApi(myData.getValue());
   return result;
}

我原以为我得到了传递给我的回调方法的dataClient.callDataApi()的结果。但我收到了之前传递给观察者的myData对象。

有没有办法将结果返回给回调方法而不将结果复制到myData变量?

0 个答案:

没有答案