本文整理了Java中org.apache.pulsar.zookeeper.ZooKeeperDataCache.get()
方法的一些代码示例,展示了ZooKeeperDataCache.get()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ZooKeeperDataCache.get()
方法的具体详情如下:
包路径:org.apache.pulsar.zookeeper.ZooKeeperDataCache
类名称:ZooKeeperDataCache
方法名:get
[英]Return an item from the cache If node doens't exist, the value will be not present.s
[中]从缓存中返回项如果节点不存在,则该值将不存在。s
代码示例来源:origin: org.apache.pulsar/pulsar-discovery-service
private void updateBrokerList(Set<String> brokerNodes) throws Exception {
List<LoadManagerReport> availableBrokers = new ArrayList<>(brokerNodes.size());
for (String broker : brokerNodes) {
availableBrokers.add(brokerInfo.get(LOADBALANCE_BROKERS_ROOT + '/' + broker).get());
}
this.availableBrokers = availableBrokers;
}
代码示例来源:origin: org.apache.pulsar/pulsar-proxy
private void updateBrokerList(Set<String> brokerNodes) throws Exception {
List<LoadManagerReport> availableBrokers = new ArrayList<>(brokerNodes.size());
for (String broker : brokerNodes) {
availableBrokers.add(brokerInfo.get(LOADBALANCE_BROKERS_ROOT + '/' + broker).get());
}
this.availableBrokers = availableBrokers;
}
代码示例来源:origin: org.apache.pulsar/pulsar-broker
private String getDynamicConfigurationFromZK(String zkPath, String settingName, String defaultValue) {
try {
return dynamicConfigurationCache.get(zkPath).map(c -> c.get(settingName)).orElse(defaultValue);
} catch (Exception e) {
log.warn("Got exception when reading ZooKeeper path [{}]:", zkPath, e);
return defaultValue;
}
}
代码示例来源:origin: org.apache.pulsar/pulsar-broker
public BacklogQuota getBacklogQuota(String namespace, String policyPath) {
try {
return zkCache.get(policyPath)
.map(p -> p.backlog_quota_map.getOrDefault(BacklogQuotaType.destination_storage, defaultQuota))
.orElse(defaultQuota);
} catch (Exception e) {
log.error(String.format("Failed to read policies data, will apply the default backlog quota: namespace=%s",
namespace), e);
return this.defaultQuota;
}
}
代码示例来源:origin: org.apache.pulsar/pulsar-broker
private Optional<NamespaceIsolationPolicies> getIsolationPolicies(String clusterName) {
try {
return namespaceIsolationPolicies
.get(AdminResource.path("clusters", clusterName, NAMESPACE_ISOLATION_POLICIES));
} catch (Exception e) {
LOG.warn("GetIsolationPolicies: Unable to get the namespaceIsolationPolicies [{}]", e);
return Optional.empty();
}
}
代码示例来源:origin: org.apache.pulsar/pulsar-broker
private ResourceQuota readQuotaFromZnode(String zpath) {
try {
return this.resourceQuotaCache.get(zpath).orElseGet(() -> new ResourceQuota());
} catch (Exception e) {
LOG.warn("Failed to read quota from znode {}: {}", zpath, e);
return new ResourceQuota();
}
}
代码示例来源:origin: org.apache.pulsar/pulsar-zookeeper-utils
@Override
public void setConf(Configuration conf) {
super.setConf(conf);
bookieMappingCache = getAndSetZkCache(conf);
try {
racksWithHost = bookieMappingCache.get(BOOKIE_INFO_ROOT_PATH).orElse(new BookiesRackConfiguration());
} catch (Exception e) {
throw new RuntimeException(e);
}
}
代码示例来源:origin: org.apache.pulsar/pulsar-broker
@GET
@Path("/{tenant}")
@ApiOperation(value = "Get the admin configuration for a given tenant.")
@ApiResponses(value = { @ApiResponse(code = 403, message = "The requester doesn't have admin permissions"),
@ApiResponse(code = 404, message = "Tenant does not exist") })
public TenantInfo getTenantAdmin(@PathParam("tenant") String tenant) {
validateSuperUserAccess();
try {
return tenantsCache().get(path(POLICIES, tenant))
.orElseThrow(() -> new RestException(Status.NOT_FOUND, "Tenant does not exist"));
} catch (Exception e) {
log.error("[{}] Failed to get tenant {}", clientAppId(), tenant, e);
throw new RestException(e);
}
}
代码示例来源:origin: org.apache.pulsar/pulsar-broker
protected boolean isNamespaceReplicated(NamespaceName namespaceName) {
try {
final Policies policies = policiesCache().get(ZkAdminPaths.namespacePoliciesPath(namespaceName))
.orElseThrow(() -> new RestException(Status.NOT_FOUND, "Namespace does not exist"));
return policies.replication_clusters.size() > 1;
} catch (RestException re) {
throw re;
} catch (Exception e) {
log.error("[{}] Failed to get namespace policies {}", clientAppId(), namespaceName, e);
throw new RestException(e);
}
}
}
代码示例来源:origin: org.apache.pulsar/pulsar-broker
protected void validateClusterExists(String cluster) {
try {
if (!clustersCache().get(path("clusters", cluster)).isPresent()) {
throw new RestException(Status.PRECONDITION_FAILED, "Cluster " + cluster + " does not exist.");
}
} catch (Exception e) {
throw new RestException(e);
}
}
代码示例来源:origin: org.apache.pulsar/pulsar-websocket
private ClusterData retrieveClusterData() throws PulsarServerException {
if (configurationCacheService == null) {
throw new PulsarServerException(
"Failed to retrieve Cluster data due to empty ConfigurationStoreServers");
}
try {
String path = "/admin/clusters/" + config.getClusterName();
return localCluster = configurationCacheService.clustersCache().get(path)
.orElseThrow(() -> new KeeperException.NoNodeException(path));
} catch (Exception e) {
throw new PulsarServerException(e);
}
}
代码示例来源:origin: org.apache.pulsar/pulsar-broker
private NamespaceIsolationPolicies getLocalNamespaceIsolationPolicies() throws Exception {
String localCluster = pulsar.getConfiguration().getClusterName();
return pulsar.getConfigurationCache().namespaceIsolationPoliciesCache()
.get(AdminResource.path("clusters", localCluster, NAMESPACE_ISOLATION_POLICIES)).orElseGet(() -> {
// the namespace isolation policies are empty/undefined = an empty object
return new NamespaceIsolationPolicies();
});
}
代码示例来源:origin: org.apache.pulsar/pulsar-broker
protected Policies getNamespacePolicies(NamespaceName namespaceName) {
try {
Policies policies = policiesCache().get(AdminResource.path(POLICIES, namespaceName.toString()))
.orElseThrow(() -> new RestException(Status.NOT_FOUND, "Namespace does not exist"));
// fetch bundles from LocalZK-policies
NamespaceBundles bundles = pulsar().getNamespaceService().getNamespaceBundleFactory()
.getBundles(namespaceName);
BundlesData bundleData = NamespaceBundleFactory.getBundlesData(bundles);
policies.bundles = bundleData != null ? bundleData : policies.bundles;
return policies;
} catch (RestException re) {
throw re;
} catch (Exception e) {
log.error("[{}] Failed to get namespace policies {}", clientAppId(), namespaceName, e);
throw new RestException(e);
}
}
代码示例来源:origin: org.apache.pulsar/pulsar-broker
protected Policies getNamespacePolicies(String property, String cluster, String namespace) {
try {
Policies policies = policiesCache().get(AdminResource.path(POLICIES, property, cluster, namespace))
.orElseThrow(() -> new RestException(Status.NOT_FOUND, "Namespace does not exist"));
// fetch bundles from LocalZK-policies
NamespaceBundles bundles = pulsar().getNamespaceService().getNamespaceBundleFactory()
.getBundles(NamespaceName.get(property, cluster, namespace));
BundlesData bundleData = NamespaceBundleFactory.getBundlesData(bundles);
policies.bundles = bundleData != null ? bundleData : policies.bundles;
return policies;
} catch (RestException re) {
throw re;
} catch (Exception e) {
log.error("[{}] Failed to get namespace policies {}/{}/{}", clientAppId(), property, cluster, namespace, e);
throw new RestException(e);
}
}
代码示例来源:origin: org.apache.pulsar/pulsar-broker
protected boolean isConsumersExceededOnSubscription() {
Policies policies;
try {
policies = topic.getBrokerService().pulsar().getConfigurationCache().policiesCache()
.get(AdminResource.path(POLICIES, TopicName.get(topicName).getNamespace()))
.orElseGet(() -> new Policies());
} catch (Exception e) {
policies = new Policies();
}
final int maxConsumersPerSubscription = policies.max_consumers_per_subscription > 0 ?
policies.max_consumers_per_subscription :
serviceConfig.getMaxConsumersPerSubscription();
if (maxConsumersPerSubscription > 0 && maxConsumersPerSubscription <= consumers.size()) {
return true;
}
return false;
}
代码示例来源:origin: org.apache.pulsar/pulsar-broker
protected boolean isConsumersExceededOnTopic() {
Policies policies;
try {
policies = topic.getBrokerService().pulsar().getConfigurationCache().policiesCache()
.get(AdminResource.path(POLICIES, TopicName.get(topicName).getNamespace()))
.orElseGet(() -> new Policies());
} catch (Exception e) {
policies = new Policies();
}
final int maxConsumersPerTopic = policies.max_consumers_per_topic > 0 ?
policies.max_consumers_per_topic :
serviceConfig.getMaxConsumersPerTopic();
if (maxConsumersPerTopic > 0 && maxConsumersPerTopic <= topic.getNumberOfConsumers()) {
return true;
}
return false;
}
代码示例来源:origin: org.apache.pulsar/pulsar-broker
protected boolean isConsumersExceededOnSubscription() {
Policies policies;
try {
policies = topic.getBrokerService().pulsar().getConfigurationCache().policiesCache()
.get(AdminResource.path(POLICIES, TopicName.get(topicName).getNamespace()))
.orElseGet(() -> new Policies());
} catch (Exception e) {
policies = new Policies();
}
final int maxConsumersPerSubscription = policies.max_consumers_per_subscription > 0 ?
policies.max_consumers_per_subscription :
serviceConfig.getMaxConsumersPerSubscription();
if (maxConsumersPerSubscription > 0 && maxConsumersPerSubscription <= consumers.size()) {
return true;
}
return false;
}
代码示例来源:origin: org.apache.pulsar/pulsar-broker
protected boolean isConsumersExceededOnTopic() {
Policies policies;
try {
policies = topic.getBrokerService().pulsar().getConfigurationCache().policiesCache()
.get(AdminResource.path(POLICIES, TopicName.get(topicName).getNamespace()))
.orElseGet(() -> new Policies());
} catch (Exception e) {
policies = new Policies();
}
final int maxConsumersPerTopic = policies.max_consumers_per_topic > 0 ?
policies.max_consumers_per_topic :
serviceConfig.getMaxConsumersPerTopic();
if (maxConsumersPerTopic > 0 && maxConsumersPerTopic <= topic.getNumberOfConsumers()) {
return true;
}
return false;
}
代码示例来源:origin: org.apache.pulsar/pulsar-broker
private boolean isProducersExceeded() {
Policies policies;
try {
policies = brokerService.pulsar().getConfigurationCache().policiesCache()
.get(AdminResource.path(POLICIES, TopicName.get(topic).getNamespace()))
.orElseGet(() -> new Policies());
} catch (Exception e) {
policies = new Policies();
}
final int maxProducers = policies.max_producers_per_topic > 0 ?
policies.max_producers_per_topic :
brokerService.pulsar().getConfiguration().getMaxProducersPerTopic();
if (maxProducers > 0 && maxProducers <= producers.size()) {
return true;
}
return false;
}
代码示例来源:origin: org.apache.pulsar/pulsar-broker
private boolean isProducersExceeded() {
Policies policies;
try {
policies = brokerService.pulsar().getConfigurationCache().policiesCache()
.get(AdminResource.path(POLICIES, TopicName.get(topic).getNamespace()))
.orElseGet(() -> new Policies());
} catch (Exception e) {
policies = new Policies();
}
final int maxProducers = policies.max_producers_per_topic > 0 ?
policies.max_producers_per_topic :
brokerService.pulsar().getConfiguration().getMaxProducersPerTopic();
if (maxProducers > 0 && maxProducers <= producers.size()) {
return true;
}
return false;
}
内容来源于网络,如有侵权,请联系作者删除!