@Override public synchronized void shutdown() { if (shutdown) { return; } shutdown = true; if (null != executor) { SharedResourceManager.shared().release(executorService, executor); } } }
@Override protected void closeAsyncOnce(CompletableFuture<Void> closeFuture) { if (ownChannel) { managedChannel.shutdown(); } SharedResourceManager.shared().release(schedulerResource, scheduler); closeFuture.complete(null); } }
@Override public synchronized void start(Listener listener) { checkState(null == this.listener, "Resolver already started"); this.executor = SharedResourceManager.shared().get(executorService); this.listener = checkNotNull(listener, "Listener is null"); resolve(); }
public StorageClientImpl(String namespaceName, StorageClientSettings settings, ClientResources resources, StorageServerClientManager serverManager, boolean ownServerManager) { this.defaultNamespace = namespaceName; this.settings = settings; this.resources = resources; this.serverManager = serverManager; this.ownServerManager = ownServerManager; this.scheduler = SharedResourceManager.shared().get(resources.scheduler()); }
@Override protected void closeAsyncOnce(CompletableFuture<Void> closeFuture) { locationClient.close(); channelManager.close(); scheduler.submit(() -> { SharedResourceManager.shared().release(schedulerResource, scheduler); closeFuture.complete(null); }); } }
@Override protected void closeAsyncOnce(CompletableFuture<Void> closeFuture) { scheduler.submit(() -> { if (ownServerManager) { serverManager.close(); } closeFuture.complete(null); SharedResourceManager.shared().release(resources.scheduler(), scheduler); }); }
protected SimpleClientBase(StorageClientSettings settings, Resource<OrderedScheduler> schedulerResource, ManagedChannel managedChannel, boolean ownChannel) { this.settings = settings; this.managedChannel = managedChannel; this.ownChannel = ownChannel; this.channel = ClientInterceptors.intercept( managedChannel, new StorageContainerClientInterceptor(0L)); this.schedulerResource = schedulerResource; this.scheduler = SharedResourceManager.shared().get(schedulerResource); this.retryUtils = RetryUtils.create(settings.backoffPolicy(), scheduler); }
public StorageServerClientManagerImpl(StorageClientSettings settings, Resource<OrderedScheduler> schedulerResource, Function<Endpoint, StorageServerChannel> channelFactory) { this.schedulerResource = schedulerResource; this.scheduler = SharedResourceManager.shared().get(schedulerResource); this.locationClient = new LocationClientImpl(settings, scheduler); this.channelManager = new StorageServerChannelManager(channelFactory); this.scChannelManager = new StorageContainerChannelManager( this.channelManager, this.locationClient, scheduler); this.rootRangeClient = new RootRangeClientImplWithRetries( new RootRangeClientImpl( scheduler, scChannelManager), settings.backoffPolicy(), scheduler ); this.streamMetadataCache = new StreamMetadataCache(rootRangeClient); this.metaRangeClients = Maps.newConcurrentMap(); }