org.infinispan.counter.api.WeakCounter类的使用及代码示例

x33g5p2x  于2022-02-03 转载在 其他  
字(6.5k)|赞(0)|评价(0)|浏览(138)

本文整理了Java中org.infinispan.counter.api.WeakCounter类的一些代码示例,展示了WeakCounter类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。WeakCounter类的具体详情如下:
包路径:org.infinispan.counter.api.WeakCounter
类名称:WeakCounter

WeakCounter介绍

[英]A weak consistent counter interface.

This interface represents a weak counter in the way that the write operations does not return a consistent results. In this way, all the writes return a CompletableFuture.

Note: the reset operation is not atomic.
[中]弱一致计数器接口。
此接口表示一个弱计数器,因为写入操作不会返回一致的结果。通过这种方式,所有写入都会返回一个完整的未来。
注意:重置操作不是原子操作。

代码示例

代码示例来源:origin: org.infinispan/infinispan-commons

  1. /**
  2. * Increments the counter.
  3. */
  4. default CompletableFuture<Void> increment() {
  5. return add(1L);
  6. }

代码示例来源:origin: org.infinispan/infinispan-commons

  1. /**
  2. * @see WeakCounter#getValue()
  3. */
  4. @Override
  5. public long getValue() {
  6. return counter.getValue();
  7. }

代码示例来源:origin: org.infinispan/infinispan-commons

  1. /**
  2. * @see WeakCounter#reset()
  3. */
  4. @Override
  5. public void reset() {
  6. awaitCounterOperation(counter.reset());
  7. }

代码示例来源:origin: infinispan/infinispan-simple-tutorials

  1. counter3.add(5).thenAccept(aVoid -> System.out.println("Adding 5 to counter-3 completed!")).get();
  2. System.out.println("Counter-3 value is " + counter3.getValue());

代码示例来源:origin: org.infinispan/infinispan-clustered-counter

  1. public WeakTestCounter(WeakCounter counter) {
  2. this.counter = counter;
  3. this.syncCounter = counter.sync();
  4. }

代码示例来源:origin: org.infinispan/infinispan-server-hotrod

  1. @Override
  2. public <L extends CounterListener> Handle<L> addListenerTo(WeakCounter counter, L logger) {
  3. return counter.addListener(logger);
  4. }

代码示例来源:origin: org.infinispan/infinispan-server-hotrod

  1. @Override
  2. void assertCounterNameAndConfiguration(String counterName, CounterConfiguration configuration) {
  3. allCounterManagerSupplier.get().forEach(counterManager -> {
  4. WeakCounter counter = counterManager.getWeakCounter(counterName);
  5. assertEquals(counterName, counter.getName());
  6. assertEquals(configuration, counter.getConfiguration());
  7. });
  8. }
  9. }

代码示例来源:origin: org.infinispan/infinispan-commons

  1. /**
  2. * @see WeakCounter#remove()
  3. */
  4. @Override
  5. public void remove() {
  6. awaitCounterOperation(counter.remove());
  7. }

代码示例来源:origin: org.infinispan/infinispan-commons

  1. /**
  2. * @see WeakCounter#getConfiguration()
  3. */
  4. @Override
  5. public CounterConfiguration getConfiguration() {
  6. return counter.getConfiguration();
  7. }

代码示例来源:origin: org.infinispan/infinispan-commons

  1. /**
  2. * @see WeakCounter#getName()
  3. */
  4. @Override
  5. public String getName() {
  6. return counter.getName();
  7. }

代码示例来源:origin: infinispan/infinispan-simple-tutorials

  1. counter3.add(5).thenAccept(aVoid -> System.out.println("Adding 5 to counter-3 completed!")).get();
  2. System.out.println("Counter-3 value is " + counter3.getValue());

代码示例来源:origin: org.infinispan.server/infinispan-server-infinispan

  1. @Override
  2. protected ModelNode invoke(CounterManager counterManager, ModelNode operation) {
  3. final String counterName = counterName(operation);
  4. final String counterType = counterType(operation);
  5. if (counterManager.isDefined(counterName)) {
  6. boolean isStrongCounter = ModelKeys.STRONG_COUNTER.equals(counterType);
  7. if (isStrongCounter) {
  8. StrongCounter strongCounter = counterManager.getStrongCounter(counterName);
  9. strongCounter.sync().incrementAndGet();
  10. } else {
  11. WeakCounter weakCounter = counterManager.getWeakCounter(counterName);
  12. weakCounter.sync().increment();
  13. }
  14. }
  15. return new ModelNode();
  16. }
  17. }

代码示例来源:origin: org.infinispan/infinispan-clustered-counter

  1. @Override
  2. public <T extends CounterListener> Handle<T> addListener(T listener) {
  3. return counter.addListener(listener);
  4. }

代码示例来源:origin: org.infinispan/infinispan-server-hotrod

  1. @Override
  2. void remove(WeakCounter counter) {
  3. awaitCounterOperation(counter.remove());
  4. }

代码示例来源:origin: org.infinispan/infinispan-server-hotrod

  1. @Override
  2. public void testGetCounterNames(Method method) {
  3. //we need to cleanup other tests counters from the caches.
  4. clearCaches();
  5. final Random random = generateRandom();
  6. final String counterNamePrefix = method.getName();
  7. final CounterManager counterManager = getTestedCounterManager();
  8. final int numCounters = random.nextInt(10) + 1;
  9. final List<CounterConfiguration> configList = new ArrayList<>(numCounters);
  10. final Set<String> counterSet = new HashSet<>();
  11. //adds some randomness to the test by adding 1 to 10 counters
  12. for (int i = 0; i < numCounters; ++i) {
  13. CounterConfiguration config = builder(CounterType.valueOf(random.nextInt(3))).initialValue(random.nextLong())
  14. .build();
  15. assertTrue(counterManager.defineCounter(counterNamePrefix + i, config));
  16. configList.add(config);
  17. counterSet.add(counterNamePrefix + i);
  18. }
  19. Set<String> counterNames = new HashSet<>(counterManager.getCounterNames());
  20. assertEquals(counterSet, counterNames);
  21. for (int i = 0; i < numCounters; ++i) {
  22. final String counterName = counterNamePrefix + i;
  23. assertTrue(counterNames.contains(counterName));
  24. CounterConfiguration config = configList.get(i);
  25. CounterConfiguration storedConfig = config.type() == CounterType.WEAK ?
  26. counterManager.getWeakCounter(counterName).getConfiguration() :
  27. counterManager.getStrongCounter(counterName).getConfiguration();
  28. assertEquals(config, storedConfig);
  29. }
  30. }

代码示例来源:origin: org.infinispan/infinispan-clustered-counter

  1. public void testSingleConcurrencyLevel() throws ExecutionException, InterruptedException {
  2. final CounterManager counterManager = EmbeddedCounterManagerFactory.asCounterManager(manager(0));
  3. final String counterName = "c1-counter";
  4. counterManager.defineCounter(counterName,
  5. CounterConfiguration.builder(CounterType.WEAK).concurrencyLevel(1).build());
  6. WeakCounter wc = counterManager.getWeakCounter(counterName);
  7. wc.add(2).get();
  8. assertEquals(2, wc.getValue());
  9. }

代码示例来源:origin: org.infinispan/infinispan-commons

  1. /**
  2. * Decrements the counter.
  3. */
  4. default CompletableFuture<Void> decrement() {
  5. return add(-1L);
  6. }

代码示例来源:origin: org.infinispan/infinispan-server-hotrod

  1. private void handleGetWeak(HotRodHeader header, WeakCounter counter) {
  2. longResultHandler(header, counter.getValue(), null);
  3. }

代码示例来源:origin: org.infinispan/infinispan-server-hotrod

  1. private void handleResetWeak(HotRodHeader header, WeakCounter counter) {
  2. counter.reset().whenComplete((value, throwable) -> voidResultHandler(header, throwable));
  3. }

代码示例来源:origin: org.infinispan.server/infinispan-server-infinispan

  1. @Override
  2. protected ModelNode invoke(CounterManager counterManager, ModelNode operation) {
  3. final String counterName = counterName(operation);
  4. final String counterType = counterType(operation);
  5. if (counterManager.isDefined(counterName)) {
  6. boolean isStrongCounter = ModelKeys.STRONG_COUNTER.equals(counterType);
  7. if (isStrongCounter) {
  8. StrongCounter strongCounter = counterManager.getStrongCounter(counterName);
  9. strongCounter.sync().decrementAndGet();
  10. } else {
  11. WeakCounter weakCounter = counterManager.getWeakCounter(counterName);
  12. weakCounter.sync().decrement();
  13. }
  14. }
  15. return new ModelNode();
  16. }
  17. }

相关文章