@Singleton @Requires(beans=io.micronaut.discovery.DiscoveryClient.class) @Requires(property="grpc.client.discovery.enabled",value="true",defaultValue="false") public class GrpcNameResolverProvider extends io.grpc.NameResolverProvider implements io.micronaut.context.LifeCycle<GrpcNameResolverProvider>
NameResolverProvider
that allows using Micronaut's DiscoveryClient
to perform service discovery.Modifier and Type | Field and Description |
---|---|
static java.lang.String |
ENABLED |
static int |
PRIORITY |
Modifier | Constructor and Description |
---|---|
protected |
GrpcNameResolverProvider(io.micronaut.discovery.DiscoveryClient discoveryClient,
java.util.List<io.micronaut.discovery.ServiceInstanceList> serviceInstanceLists)
Default constructor.
|
Modifier and Type | Method and Description |
---|---|
java.lang.String |
getDefaultScheme() |
protected boolean |
isAvailable() |
boolean |
isRunning() |
io.grpc.NameResolver |
newNameResolver(java.net.URI targetUri,
io.grpc.NameResolver.Args args) |
protected int |
priority() |
GrpcNameResolverProvider |
start() |
GrpcNameResolverProvider |
stop() |
public static final java.lang.String ENABLED
public static final int PRIORITY
protected GrpcNameResolverProvider(io.micronaut.discovery.DiscoveryClient discoveryClient, java.util.List<io.micronaut.discovery.ServiceInstanceList> serviceInstanceLists)
discoveryClient
- The discovery clientserviceInstanceLists
- The server instance listprotected boolean isAvailable()
isAvailable
in class io.grpc.NameResolverProvider
protected int priority()
priority
in class io.grpc.NameResolverProvider
public io.grpc.NameResolver newNameResolver(java.net.URI targetUri, io.grpc.NameResolver.Args args)
newNameResolver
in class io.grpc.NameResolver.Factory
public java.lang.String getDefaultScheme()
getDefaultScheme
in class io.grpc.NameResolver.Factory
public boolean isRunning()
isRunning
in interface io.micronaut.context.LifeCycle<GrpcNameResolverProvider>
@NonNull @PostConstruct public GrpcNameResolverProvider start()
start
in interface io.micronaut.context.LifeCycle<GrpcNameResolverProvider>
@NonNull @PreDestroy public GrpcNameResolverProvider stop()
stop
in interface io.micronaut.context.LifeCycle<GrpcNameResolverProvider>