Ich fange an, Cyclops-Reagieren mit Async-Retry zu verwenden. Ich bin immer noch ein bisschen verloren damit.Cyclops-Reagieren und Async-Retry: Wie bei Timeout erneut versuchen?
Ich verwende SimpleReact und ein Timeout von dem Server simuliert, aber ich habe nie ein Timeout mit so etwas wie diese erhalten:
private List<Object> executeParallel() {
List<Object> result = new SimpleReact(mainThreadPool)
.of(getSupplier())
.withRetrier(new AsyncRetryExecutor(retryThreadPool)
.abortIf((t) -> !TimeoutException.class.isAssignableFrom(t.getClass()))
)
.retry(retrySupplier())
.block()
.collect(Collectors.toList());
return result;
}
private Supplier getSupplier() {
return() -> someOperationThatTimesOut();
}
private Function<Supplier, Object> retrySupplier() {
return supplier -> supplier.get();
}
Was dort fehlt?
Hey Jorge, ich werde eine detaillierte Antwort hinzufügen, aber die Funktion, die Timeout sollte der Wiederholungsoperator geliefert werden. –