Повторно подписаться на моно без повторного запуска наблюдаемогоJAVA

Программисты JAVA общаются здесь
Anonymous
Повторно подписаться на моно без повторного запуска наблюдаемого

Сообщение Anonymous »

У меня есть процесс, который получает элемент, и ему может потребоваться атрибут этого элемента, хранящийся во внешней службе. Поскольку доступ к этому атрибуту занимает много времени, я хочу запросить атрибут сразу после получения элемента.

Код: Выделить всё

public class Item(){
public Item(String id, Map bunchOfThings){
this.id = id;
this.things = bunchOfThings;
externalService.methodThatReturnsMono(id)
.subscribe(attribute -> this.attribute = Optional.of(attribute));
}

Optional attribute = Optional.empty();
}
Если атрибут нужен, то оптимально значение уже получено. Но что произойдет, если вызов внешней службы не будет выполнен?

Код: Выделить всё

public String getAttribute() {
if(attribute.isPresent())
return attribute.get();
else
//I want to wait until the attribute is obtained, like get hooked again in the reactive flow and wait till is done, not resubscribe and trigger again the "methodThatReturnsMono"
}
Прежде чем начать опрос необязательного параметра в цикле, я хочу знать, есть ли реактивный способ сделать это или я пытаюсь вставить круглый колышек в квадратное отверстие.

Вернуться в «JAVA»