В классе CouchbaseTemplate в Spring Data Couchbase имеется функция для настройки обработки исключений при записи с использованием метода setWriteResultChecking .
Кажется, что нет никакой информации об этом в документации.
Если вы покопаетесь в исходном коде, значением по умолчанию будет NONE. Это означает, что исключения регистрируются, но не передаются обратно в ваш вызывающий код.
Пожалуйста, кто-нибудь знает, почему это поведение по умолчанию? Разве не имеет смысла использовать EXCEPTION, так что, по крайней мере, ваш вызывающий код знает, что что-то пошло не так?
У меня нет большого опыта работы с данными Spring для Couchbase или даже для Couchbase, поэтому я чувствую, что здесь упущен фундаментальный момент.
Спасибо.
Для дальнейшего использования, вот как я установил проверку записи на ИСКЛЮЧЕНИЕ:
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.couchbase.config.AbstractCouchbaseConfiguration;
import org.springframework.data.couchbase.config.BeanNames;
import org.springframework.data.couchbase.core.CouchbaseTemplate;
import org.springframework.data.couchbase.core.WriteResultChecking;
@Configuration
public class CouchbaseConfig extends AbstractCouchbaseConfiguration {
@Override
@Bean(name = BeanNames.COUCHBASE_TEMPLATE)
public CouchbaseTemplate couchbaseTemplate() throws Exception {
CouchbaseTemplate couchbaseTemplate = super.couchbaseTemplate();
couchbaseTemplate.setWriteResultChecking(WriteResultChecking.EXCEPTION);
return couchbaseTemplate;
}
}
Я не включил это в качестве ответа, потому что он не отвечает на вопрос. Вопрос был о том, почему по умолчанию NONE.