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

0 ответов

Другие вопросы по тегам