Атомные счетчики весной с Couchbase
Можно ли использовать атомные счетчики Couchbase с пружинным соединителем? В настоящее время у меня есть хранилище для конкретного типа документа и я хочу, чтобы для каждого документа был атомный счетчик. Я знаю, что Java SDK предлагает функциональность, но я не смог найти эквивалентное действие для Spring.
1 ответ
Как я знаю, в Spring нет поддержки счетчиков, но довольно просто написать собственный репозиторий:
@Repository
public class CountersRepository {
private static final long INITIAL_COUNTER_VALUE = 1;
@Autowired
private Bucket bucket;
public void incCounter(final String counter) {
bucket.counter(counter, 1, INITIAL_COUNTER_VALUE);
}
public void decCounter(final String counter) {
bucket.counter(counter, -1, INITIAL_COUNTER_VALUE);
}
public Long getCounterValue(final String counter) {
return bucket.counter(counter, 0).content();
}
}