У меня есть функция для хранения данных в массиве диванов. Я использую реактивную коллекцию в Couchbase 3.0 SDK.
В приведенном ниже примере я могу хранить данные, но в журналах печатается CasMismatchException. Но поскольку это ожидаемо, я не хочу, чтобы его печатали, как я могу этого добиться?
private Consumer<? super Throwable> upsert(String key, String value) {
return e -> {
if (e instanceof CasMismatchException || e instanceof DocumentExistsException) {
defaultCollection // couchbase reactive default colection
.get(key)
.subscribe(
s -> {
List<String> values = new ArrayList<>();
values.addAll(s.contentAs(ArrayList.class));
values.add(value);
defaultCollection
.replace(key, values, ReplaceOptions.replaceOptions().cas(s.cas()))
.doOnError(upsert(key,value))
.subscribe();
});
} else {
LOGGER.error("Error on couch operation on - {}", e);
}
};
}
Этот код печатает журналы ошибок, можно ли этого избежать?
onErrorResume
. - person Simon Baslé   schedule 09.06.2021