Class GrpcNameResolverProvider
java.lang.Object
io.grpc.NameResolver.Factory
io.grpc.NameResolverProvider
io.micronaut.grpc.discovery.GrpcNameResolverProvider
- All Implemented Interfaces:
io.micronaut.context.LifeCycle<GrpcNameResolverProvider>, Closeable, AutoCloseable
@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>
Implementation of
NameResolverProvider that allows using Micronaut's DiscoveryClient
to perform service discovery.- Since:
- 1.0
- Author:
- graemerocher
-
Field Summary
Fields -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedGrpcNameResolverProvider(io.micronaut.discovery.DiscoveryClient discoveryClient, List<io.micronaut.discovery.ServiceInstanceList> serviceInstanceLists) Default constructor. -
Method Summary
Modifier and TypeMethodDescriptionprotected booleanbooleanio.grpc.NameResolvernewNameResolver(URI targetUri, io.grpc.NameResolver.Args args) protected intpriority()@NonNull GrpcNameResolverProviderstart()@NonNull GrpcNameResolverProviderstop()Methods inherited from class io.grpc.NameResolverProvider
getProducedSocketAddressTypes, getSchemeMethods inherited from class io.grpc.NameResolver.Factory
newNameResolverMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.micronaut.context.LifeCycle
close, refresh
-
Field Details
-
ENABLED
- See Also:
-
PRIORITY
public static final int PRIORITY- See Also:
-
-
Constructor Details
-
GrpcNameResolverProvider
protected GrpcNameResolverProvider(io.micronaut.discovery.DiscoveryClient discoveryClient, List<io.micronaut.discovery.ServiceInstanceList> serviceInstanceLists) Default constructor.- Parameters:
discoveryClient- The discovery clientserviceInstanceLists- The server instance list
-
-
Method Details
-
isAvailable
protected boolean isAvailable()- Specified by:
isAvailablein classio.grpc.NameResolverProvider
-
priority
protected int priority()- Specified by:
priorityin classio.grpc.NameResolverProvider
-
newNameResolver
- Specified by:
newNameResolverin classio.grpc.NameResolver.Factory
-
getDefaultScheme
- Specified by:
getDefaultSchemein classio.grpc.NameResolver.Factory
-
isRunning
public boolean isRunning()- Specified by:
isRunningin interfaceio.micronaut.context.LifeCycle<GrpcNameResolverProvider>
-
start
- Specified by:
startin interfaceio.micronaut.context.LifeCycle<GrpcNameResolverProvider>
-
stop
- Specified by:
stopin interfaceio.micronaut.context.LifeCycle<GrpcNameResolverProvider>
-