Как вернуть значение в метод обратного вызова из события @ObserverAsync
Я использую асинхронные события в 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?