类io.grpc.NameResolverRegistry源码实例Demo

下面列出了怎么用io.grpc.NameResolverRegistry的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: grpc-java   文件: XdsSdsClientServerTest.java
private SimpleServiceGrpc.SimpleServiceBlockingStub getBlockingStub(
    final UpstreamTlsContext upstreamTlsContext, String overrideAuthority)
    throws URISyntaxException {
  URI expectedUri = new URI("sdstest://localhost:" + port);
  fakeNameResolverFactory = new FakeNameResolverFactory.Builder(expectedUri).build();
  NameResolverRegistry.getDefaultRegistry().register(fakeNameResolverFactory);
  XdsChannelBuilder channelBuilder =
      XdsChannelBuilder.forTarget("sdstest://localhost:" + port);
  if (overrideAuthority != null) {
    channelBuilder = channelBuilder.overrideAuthority(overrideAuthority);
  }
  InetSocketAddress socketAddress =
      new InetSocketAddress(Inet4Address.getLoopbackAddress(), port);
  Attributes attrs =
      (upstreamTlsContext != null)
          ? Attributes.newBuilder()
              .set(XdsAttributes.ATTR_UPSTREAM_TLS_CONTEXT, upstreamTlsContext)
              .build()
          : Attributes.EMPTY;
  fakeNameResolverFactory.setServers(
      ImmutableList.of(new EquivalentAddressGroup(socketAddress, attrs)));
  return SimpleServiceGrpc.newBlockingStub(cleanupRule.register(channelBuilder.build()));
}
 
/**
 * Register all NameResolverProviders in the given registry and store a reference to it for later de-registration.
 *
 * @param registry The registry to add the providers to.
 */
public void register(NameResolverRegistry registry) {
    this.registries.add(registry);
    for (NameResolverProvider provider : this.providers) {
        try {
            registry.register(provider);
            log.info("{} is available -> Added to the NameResolverRegistry", provider);
        } catch (IllegalArgumentException e) {
            log.info("{} is not available -> Not added to the NameResolverRegistry", provider);
        }
    }
}
 
@Override
public void destroy() {
    for (NameResolverRegistry registry : this.registries) {
        for (NameResolverProvider provider : this.providers) {
            registry.deregister(provider);
            log.info("{} was removed from the NameResolverRegistry", provider);
        }
    }
    this.registries.clear();
}
 
/**
 * Creates a new NameResolverRegistration. This ensures that the NameResolverProvider's get unregistered when spring
 * shuts down. This is mostly required for tests/when running multiple application contexts within the same JVM.
 *
 * @param nameResolverProviders The spring managed providers to manage.
 * @return The newly created NameResolverRegistration bean.
 */
@ConditionalOnMissingBean
@Lazy
@Bean
NameResolverRegistration grpcNameResolverRegistration(
        @Autowired(required = false) final List<NameResolverProvider> nameResolverProviders) {
    NameResolverRegistration nameResolverRegistration = new NameResolverRegistration(nameResolverProviders);
    nameResolverRegistration.register(NameResolverRegistry.getDefaultRegistry());
    return nameResolverRegistration;
}
 
/**
 * Register all NameResolverProviders in the given registry and store a reference to it for later de-registration.
 *
 * @param registry The registry to add the providers to.
 */
public void register(NameResolverRegistry registry) {
    this.registries.add(registry);
    for (NameResolverProvider provider : this.providers) {
        try {
            registry.register(provider);
            log.info("{} is available -> Added to the NameResolverRegistry", provider);
        } catch (IllegalArgumentException e) {
            log.info("{} is not available -> Not added to the NameResolverRegistry", provider);
        }
    }
}
 
@Override
public void destroy() {
    for (NameResolverRegistry registry : this.registries) {
        for (NameResolverProvider provider : this.providers) {
            registry.deregister(provider);
            log.info("{} was removed from the NameResolverRegistry", provider);
        }
    }
    this.registries.clear();
}
 
/**
 * Creates a new NameResolverRegistration. This ensures that the NameResolverProvider's get unregistered when spring
 * shuts down. This is mostly required for tests/when running multiple application contexts within the same JVM.
 *
 * @param nameResolverProviders The spring managed providers to manage.
 * @return The newly created NameResolverRegistration bean.
 */
@ConditionalOnMissingBean
@Lazy
@Bean
NameResolverRegistration grpcNameResolverRegistration(
        @Autowired(required = false) final List<NameResolverProvider> nameResolverProviders) {
    NameResolverRegistration nameResolverRegistration = new NameResolverRegistration(nameResolverProviders);
    nameResolverRegistration.register(NameResolverRegistry.getDefaultRegistry());
    return nameResolverRegistration;
}
 
源代码8 项目: onos   文件: GrpcChannelControllerImpl.java
@Activate
public void activate() {
    componentConfigService.registerProperties(getClass());
    channels = new ConcurrentHashMap<>();
    interceptors = new ConcurrentHashMap<>();
    LoadBalancerRegistry.getDefaultRegistry()
            .register(PICK_FIRST_LOAD_BALANCER_PROVIDER);
    NameResolverRegistry.getDefaultRegistry()
            .register(DNS_NAME_RESOLVER_PROVIDER);
    log.info("Started");
}
 
源代码9 项目: onos   文件: GrpcChannelControllerImpl.java
@Deactivate
public void deactivate() {
    LoadBalancerRegistry.getDefaultRegistry()
            .deregister(PICK_FIRST_LOAD_BALANCER_PROVIDER);
    NameResolverRegistry.getDefaultRegistry()
            .register(DNS_NAME_RESOLVER_PROVIDER);
    componentConfigService.unregisterProperties(getClass(), false);
    channels.values().forEach(ManagedChannel::shutdownNow);
    channels.clear();
    channels = null;
    interceptors.values().forEach(GrpcLoggingInterceptor::close);
    interceptors.clear();
    interceptors = null;
    log.info("Stopped");
}
 
源代码10 项目: grpc-java   文件: ManagedChannelImplTest.java
@Test
public void lbHelper_getNameResolverRegistry() {
  createChannel();

  assertThat(helper.getNameResolverRegistry())
      .isSameInstanceAs(NameResolverRegistry.getDefaultRegistry());
}
 
源代码11 项目: grpc-java   文件: XdsSdsClientServerTest.java
@After
public void tearDown() {
  if (fakeNameResolverFactory != null) {
    NameResolverRegistry.getDefaultRegistry().deregister(fakeNameResolverFactory);
  }
}
 
源代码12 项目: grpc-java   文件: ManagedChannelImpl.java
@Override
public NameResolverRegistry getNameResolverRegistry() {
  return nameResolverRegistry;
}
 
源代码13 项目: grpc-java   文件: ForwardingLoadBalancerHelper.java
@Override
public NameResolverRegistry getNameResolverRegistry() {
  return delegate().getNameResolverRegistry();
}
 
 类所在包
 类方法
 同包方法