本文整理了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
暂无
代码示例来源: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));
}
内容来源于网络,如有侵权,请联系作者删除!