gpt4 book ai didi

pl.allegro.tech.hermes.infrastructure.zookeeper.ZookeeperPaths.consumersMaxRatePath()方法的使用及代码示例

转载 作者:知者 更新时间:2024-03-14 13:01:31 25 4
gpt4 key购买 nike

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

ZookeeperPaths.consumersMaxRatePath介绍

暂无

代码示例

代码示例来源:origin: allegro/hermes

void update(SubscriptionName subscriptionName, Map<String, MaxRate> newMaxRates) {
  try {
    for (Map.Entry<String, MaxRate> entry : newMaxRates.entrySet()) {
      String maxRatePath = zookeeperPaths.consumersMaxRatePath(cluster, subscriptionName, entry.getKey());
      writeOrCreate(maxRatePath, objectMapper.writeValueAsBytes(entry.getValue()));
    }
  } catch (Exception e) {
    throw new InternalProcessingException(e);
  }
}

代码示例来源:origin: pl.allegro.tech.hermes/hermes-consumers

void update(SubscriptionName subscriptionName, Map<String, MaxRate> newMaxRates) {
  try {
    for (Map.Entry<String, MaxRate> entry : newMaxRates.entrySet()) {
      String maxRatePath = zookeeperPaths.consumersMaxRatePath(cluster, subscriptionName, entry.getKey());
      writeOrCreate(maxRatePath, objectMapper.writeValueAsBytes(entry.getValue()));
    }
  } catch (Exception e) {
    throw new InternalProcessingException(e);
  }
}

代码示例来源:origin: allegro/hermes

private boolean setInitialMaxRates(SubscriptionName subscriptionName, List<String> consumerIds) {
    // It is possible that some stale consumer entries exist. They will be logged.
    // We consider the operation successful when at least one consumer's max rate is read.
    boolean atLeastOneConsumerInitialized = false;
    for (String consumerId : consumerIds) {
      try {
        ConsumerInstance consumer = new ConsumerInstance(consumerId, subscriptionName);
        byte[] rawMaxRate = curator.getData().forPath(
            zookeeperPaths.consumersMaxRatePath(cluster, subscriptionName, consumerId));
        MaxRate maxRate = objectMapper.readValue(rawMaxRate, MaxRate.class);
        rateInfos.put(consumer, RateInfo.withNoHistory(maxRate));
        atLeastOneConsumerInitialized = true;
      } catch (Exception e) {
        logger.warn(
            "Exception occurred when initializing cache for subscription {} and consumer {}",
            subscriptionName, consumerId, e
        );
      }
    }
    return atLeastOneConsumerInitialized;
  }
}

代码示例来源:origin: pl.allegro.tech.hermes/hermes-consumers

private boolean setInitialMaxRates(SubscriptionName subscriptionName, List<String> consumerIds) {
    // It is possible that some stale consumer entries exist. They will be logged.
    // We consider the operation successful when at least one consumer's max rate is read.
    boolean atLeastOneConsumerInitialized = false;
    for (String consumerId : consumerIds) {
      try {
        ConsumerInstance consumer = new ConsumerInstance(consumerId, subscriptionName);
        byte[] rawMaxRate = curator.getData().forPath(
            zookeeperPaths.consumersMaxRatePath(cluster, subscriptionName, consumerId));
        MaxRate maxRate = objectMapper.readValue(rawMaxRate, MaxRate.class);
        rateInfos.put(consumer, RateInfo.withNoHistory(maxRate));
        atLeastOneConsumerInitialized = true;
      } catch (Exception e) {
        logger.warn(
            "Exception occurred when initializing cache for subscription {} and consumer {}",
            subscriptionName, consumerId, e
        );
      }
    }
    return atLeastOneConsumerInitialized;
  }
}

代码示例来源:origin: allegro/hermes

@Test
public void shouldWriteAndReadMaxRateProperly() throws Exception {
  // given
  ConsumerInstance consumer1 = consumer("consumer1");
  ConsumerInstance consumer2 = consumer("consumer2");
  // when
  maxRateRegistry.update(subscription,
      ImmutableMap.of(
          "consumer1", new MaxRate(350.0),
          "consumer2", new MaxRate(0.5)
      ));
  wait.untilZookeeperPathIsCreated(
      zookeeperPaths.consumersMaxRatePath(cluster, consumer1.getSubscription(), consumer1.getConsumerId()));
  wait.untilZookeeperPathIsCreated(
      zookeeperPaths.consumersMaxRatePath(cluster, consumer2.getSubscription(), consumer2.getConsumerId()));
  // then
  assertEquals(new MaxRate(350.0), maxRateRegistry.getMaxRate(consumer1).get());
  assertEquals(new MaxRate(0.5), maxRateRegistry.getMaxRate(consumer2).get());
}

代码示例来源:origin: allegro/hermes

@Test
public void shouldRemoveInactiveConsumerEntries() throws Exception {
  // given
  ConsumerInstance consumer1 = consumer("consumer1");
  ConsumerInstance consumer2 = consumer("consumer2");
  maxRateRegistry.ensureCorrectAssignments(subscription, Sets.newHashSet("consumer1", "consumer2"));
  maxRateRegistry.update(subscription, ImmutableMap.of(
      "consumer1", new MaxRate(350.0),
      "consumer2", new MaxRate(0.5)
  ));
  wait.untilZookeeperPathIsCreated(
      zookeeperPaths.consumersMaxRatePath(cluster, consumer1.getSubscription(), consumer1.getConsumerId()));
  wait.untilZookeeperPathIsCreated(
      zookeeperPaths.consumersMaxRatePath(cluster, consumer2.getSubscription(), consumer2.getConsumerId()));
  // when
  maxRateRegistry.ensureCorrectAssignments(subscription, Sets.newHashSet("consumer1", "consumer3"));
  wait.untilZookeeperPathNotExists(
      zookeeperPaths.consumersRatePath(cluster, consumer2.getSubscription(), consumer2.getConsumerId()));
  // then
  assertEquals(Optional.empty(), maxRateRegistry.getMaxRate(consumer2));
}

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com