Package io.micronaut.grpc.discovery
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 java.lang.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>
-