io.grpc.internal.SharedResourceHolder#release ( )源码实例Demo

下面列出了io.grpc.internal.SharedResourceHolder#release ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: grpc-nebula-java   文件: ZookeeperNameResolver.java
@Override
public final synchronized void shutdown() {
  if (shutdown) {
    return;
  }
  shutdown = true;
  if (timerService != null) {
    timerService = SharedResourceHolder.release(timerServiceResource, timerService);
  }
  if (executor != null) {
    executor = SharedResourceHolder.release(executorResource, executor);
  }

  //----begin----自动注销zk中的Consumer信息----dengjq

  if (findZkFuture != null) {
    findZkFuture.cancel(false);
  }
  if (findZkExecutor != null) {
    findZkExecutor.shutdown();
  }

  unRegistry();

  //----end----自动注销zk中的Consumer信息----
}
 
@Test
public void scheduledExecutorService_default() {
  CronetChannelBuilder builder = CronetChannelBuilder.forAddress("address", 1234, mockEngine);
  ClientTransportFactory clientTransportFactory = builder.buildTransportFactory();
  assertSame(
      SharedResourceHolder.get(TIMER_SERVICE),
      clientTransportFactory.getScheduledExecutorService());

  SharedResourceHolder.release(
      TIMER_SERVICE, clientTransportFactory.getScheduledExecutorService());
  clientTransportFactory.close();
}
 
源代码3 项目: grpc-java   文件: InProcessChannelBuilder.java
@Override
public void close() {
  if (closed) {
    return;
  }
  closed = true;
  if (useSharedTimer) {
    SharedResourceHolder.release(GrpcUtil.TIMER_SERVICE, timerService);
  }
}
 
源代码4 项目: grpc-nebula-java   文件: OkHttpChannelBuilder.java
@Override
public void close() {
  if (closed) {
    return;
  }
  closed = true;

  if (usingSharedScheduler) {
    SharedResourceHolder.release(GrpcUtil.TIMER_SERVICE, timeoutService);
  }

  if (usingSharedExecutor) {
    SharedResourceHolder.release(SHARED_EXECUTOR, executor);
  }
}
 
@Test
public void scheduledExecutorService_default() {
  OkHttpChannelBuilder builder = OkHttpChannelBuilder.forTarget("foo");
  ClientTransportFactory clientTransportFactory = builder.buildTransportFactory();
  assertSame(
      SharedResourceHolder.get(TIMER_SERVICE),
      clientTransportFactory.getScheduledExecutorService());

  SharedResourceHolder.release(
      TIMER_SERVICE, clientTransportFactory.getScheduledExecutorService());
  clientTransportFactory.close();
}
 
源代码6 项目: grpc-nebula-java   文件: NettyChannelBuilder.java
@Override
public void close() {
  if (closed) {
    return;
  }
  closed = true;

  protocolNegotiator.close();
  if (usingSharedGroup) {
    SharedResourceHolder.release(Utils.DEFAULT_WORKER_EVENT_LOOP_GROUP, group);
  }
}
 
@Override
public void close() {
  if (closed) {
    return;
  }
  closed = true;
  if (useSharedTimer) {
    SharedResourceHolder.release(GrpcUtil.TIMER_SERVICE, timerService);
  }
}
 
@Test
public void scheduledExecutorService_default() {
  InProcessChannelBuilder builder = InProcessChannelBuilder.forName("foo");
  ClientTransportFactory clientTransportFactory = builder.buildTransportFactory();
  assertSame(
      SharedResourceHolder.get(TIMER_SERVICE),
      clientTransportFactory.getScheduledExecutorService());

  SharedResourceHolder.release(
      TIMER_SERVICE, clientTransportFactory.getScheduledExecutorService());
  clientTransportFactory.close();
}
 
@Override
public void shutdown() {
    this.listener = null;
    if (this.executor != null && this.usingExecutorResource) {
        this.executor = SharedResourceHolder.release(this.executorResource, this.executor);
    }
}
 
@Override
public void shutdown() {
    this.listener = null;
    if (this.executor != null && this.usingExecutorResource) {
        this.executor = SharedResourceHolder.release(this.executorResource, this.executor);
    }
    this.instanceList = Lists.newArrayList();
    if (this.externalCleaner != null) {
        this.externalCleaner.run();
    }
}
 
@Override
public void shutdown() {
    this.listener = null;
    if (this.executor != null && this.usingExecutorResource) {
        this.executor = SharedResourceHolder.release(this.executorResource, this.executor);
    }
}
 
@Override
public void shutdown() {
    this.listener = null;
    if (this.executor != null && this.usingExecutorResource) {
        this.executor = SharedResourceHolder.release(this.executorResource, this.executor);
    }
    this.instanceList = Lists.newArrayList();
    if (this.externalCleaner != null) {
        this.externalCleaner.run();
    }
}
 
源代码13 项目: grpc-java   文件: OkHttpChannelBuilderTest.java
@Test
public void scheduledExecutorService_default() {
  OkHttpChannelBuilder builder = OkHttpChannelBuilder.forTarget("foo");
  ClientTransportFactory clientTransportFactory = builder.buildTransportFactory();
  assertSame(
      SharedResourceHolder.get(TIMER_SERVICE),
      clientTransportFactory.getScheduledExecutorService());

  SharedResourceHolder.release(
      TIMER_SERVICE, clientTransportFactory.getScheduledExecutorService());
  clientTransportFactory.close();
}
 
源代码14 项目: grpc-java   文件: InProcessChannelBuilderTest.java
@Test
public void scheduledExecutorService_default() {
  InProcessChannelBuilder builder = InProcessChannelBuilder.forName("foo");
  ClientTransportFactory clientTransportFactory = builder.buildTransportFactory();
  assertSame(
      SharedResourceHolder.get(TIMER_SERVICE),
      clientTransportFactory.getScheduledExecutorService());

  SharedResourceHolder.release(
      TIMER_SERVICE, clientTransportFactory.getScheduledExecutorService());
  clientTransportFactory.close();
}
 
源代码15 项目: grpc-java   文件: XdsClientWrapperForServerSds.java
/** Shutdown this instance and release resources. */
public void shutdown() {
  logger.log(Level.FINER, "Shutdown");
  if (xdsClient != null) {
    xdsClient.shutdown();
    xdsClient = null;
  }
  if (timeService != null) {
    timeService = SharedResourceHolder.release(timeServiceResource, timeService);
  }
}
 
源代码16 项目: grpc-java   文件: SdsClient.java
/** Stops resource discovery. No method in this class should be called after this point. */
void shutdown() {
  if (requestObserver != null) {
    requestObserver.onCompleted();
    requestObserver = null;
    channel.shutdownNow();
    if (eventLoopGroup != null) {
      eventLoopGroup = SharedResourceHolder.release(eventLoopGroupResource, eventLoopGroup);
    }
  }
}
 
源代码17 项目: grpc-java   文件: OkHttpClientTransport.java
/**
 * When the transport is in goAway state, we should stop it once all active streams finish.
 */
@GuardedBy("lock")
private void stopIfNecessary() {
  if (!(goAwayStatus != null && streams.isEmpty() && pendingStreams.isEmpty())) {
    return;
  }
  if (stopped) {
    return;
  }
  stopped = true;

  if (keepAliveManager != null) {
    keepAliveManager.onTransportTermination();
    // KeepAliveManager should stop using the scheduler after onTransportTermination gets called.
    scheduler = SharedResourceHolder.release(TIMER_SERVICE, scheduler);
  }

  if (ping != null) {
    ping.failed(getPingFailure());
    ping = null;
  }

  if (!goAwaySent) {
    // Send GOAWAY with lastGoodStreamId of 0, since we don't expect any server-initiated
    // streams. The GOAWAY is part of graceful shutdown.
    goAwaySent = true;
    frameWriter.goAway(0, ErrorCode.NO_ERROR, new byte[0]);
  }

  // We will close the underlying socket in the writing thread to break out the reader
  // thread, which will close the frameReader and notify the listener.
  frameWriter.close();
}
 
源代码18 项目: grpc-java   文件: OkHttpChannelBuilder.java
@Override
public void close() {
  if (closed) {
    return;
  }
  closed = true;

  if (usingSharedScheduler) {
    SharedResourceHolder.release(GrpcUtil.TIMER_SERVICE, timeoutService);
  }

  if (usingSharedExecutor) {
    SharedResourceHolder.release(SHARED_EXECUTOR, executor);
  }
}
 
源代码19 项目: grpc-nebula-java   文件: CronetChannelBuilder.java
@Override
public void close() {
  if (usingSharedScheduler) {
    SharedResourceHolder.release(GrpcUtil.TIMER_SERVICE, timeoutService);
  }
}
 
源代码20 项目: grpc-java   文件: CronetChannelBuilder.java
@Override
public void close() {
  if (usingSharedScheduler) {
    SharedResourceHolder.release(GrpcUtil.TIMER_SERVICE, timeoutService);
  }
}