/** * Builds a basic service cache. * * @param policy The configuration for this cache. * @param serviceFactory The factory to fall back to on cache misses. * @param metrics The metric registry. */ SingleThreadedClientServiceCache(ServiceCachingPolicy policy, ServiceFactory<S> serviceFactory, MetricRegistry metrics) { this(policy, serviceFactory, buildDefaultExecutor(), metrics); }
.asMap()); checkNotNull(cachingPolicy); _serviceCache = new ServiceCacheBuilder<S>() .withServiceFactory(serviceFactory) .withCachingPolicy(cachingPolicy) .withMetricRegistry(metrics) .build(); _partitionFilter = checkNotNull(partitionFilter); _loadBalanceAlgorithm = checkNotNull(loadBalanceAlgorithm);
.asMap()); checkNotNull(cachingPolicy); _serviceCache = new ServiceCacheBuilder<S>() .withServiceFactory(serviceFactory) .withCachingPolicy(cachingPolicy) .withMetricRegistry(metrics) .build(); _partitionFilter = checkNotNull(partitionFilter); _loadBalanceAlgorithm = checkNotNull(loadBalanceAlgorithm);
/** * Builds a {@code MultiThreadedClientServiceCache} with a default executor and cleanup delay. * Used by the builder. * * @param serviceFactory The service factory for creating service handles * @param metricRegistry The metric registry for reporting metrics */ MultiThreadedClientServiceCache(MultiThreadedServiceFactory<S> serviceFactory, MetricRegistry metricRegistry) { this(serviceFactory, buildDefaultExecutor(), DEFAULT_EVICTION_DELAY_SECONDS, DEFAULT_CLEANUP_DELAY_SECONDS, metricRegistry); }
/** * Builds a basic service cache. * * @param policy The configuration for this cache. * @param serviceFactory The factory to fall back to on cache misses. * @param metrics The metric registry. */ SingleThreadedClientServiceCache(ServiceCachingPolicy policy, ServiceFactory<S> serviceFactory, MetricRegistry metrics) { this(policy, serviceFactory, buildDefaultExecutor(), metrics); }
/** * Builds a {@code MultiThreadedClientServiceCache} with a default executor and cleanup delay. * Used by the builder. * * @param serviceFactory The service factory for creating service handles * @param metricRegistry The metric registry for reporting metrics */ MultiThreadedClientServiceCache(MultiThreadedServiceFactory<S> serviceFactory, MetricRegistry metricRegistry) { this(serviceFactory, buildDefaultExecutor(), DEFAULT_EVICTION_DELAY_SECONDS, DEFAULT_CLEANUP_DELAY_SECONDS, metricRegistry); }