Spring中的原子计数器与Couchbase

时间:2017-02-28 11:22:00

标签: java spring couchbase atomic atomicity

是否可以将Couchbase' Atomic Counters与Spring Connector一起使用?目前,我有一个特定文档类型的存储库,并希望每个文档都有一个原子计数器。我知道Java SDK提供了功能,但我无法找到Spring的等效操作。

1 个答案:

答案 0 :(得分:2)

据我所知,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();
    }

}