Атомные счетчики весной с 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();
    }

}
Другие вопросы по тегам