Class CachingCompositeDiscoveryClient

  • All Implemented Interfaces:
    io.micronaut.core.naming.Described, io.micronaut.discovery.DiscoveryClient, java.io.Closeable, java.lang.AutoCloseable

    @Primary
    @Requires(beans=DiscoveryClientCacheConfiguration.class)
    @Replaces(io.micronaut.discovery.DefaultCompositeDiscoveryClient.class)
    public class CachingCompositeDiscoveryClient
    extends io.micronaut.discovery.CompositeDiscoveryClient
    Replaces the default DefaultCompositeDiscoveryClient with one that caches the return values.
    Since:
    1.0
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      org.reactivestreams.Publisher<java.util.List<io.micronaut.discovery.ServiceInstance>> getInstances​(java.lang.String serviceId)  
      org.reactivestreams.Publisher<java.util.List<java.lang.String>> getServiceIds()  
      • Methods inherited from class io.micronaut.discovery.CompositeDiscoveryClient

        close, getDescription, getDiscoveryClients, toString
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface io.micronaut.core.naming.Described

        getDescription
    • Constructor Detail

      • CachingCompositeDiscoveryClient

        public CachingCompositeDiscoveryClient​(io.micronaut.discovery.DiscoveryClient[] discoveryClients)
        Parameters:
        discoveryClients - The discovery clients
    • Method Detail

      • getInstances

        @Cacheable("discovery-client")
        public org.reactivestreams.Publisher<java.util.List<io.micronaut.discovery.ServiceInstance>> getInstances​(java.lang.String serviceId)
        Specified by:
        getInstances in interface io.micronaut.discovery.DiscoveryClient
        Overrides:
        getInstances in class io.micronaut.discovery.CompositeDiscoveryClient
      • getServiceIds

        @Cacheable("discovery-client")
        public org.reactivestreams.Publisher<java.util.List<java.lang.String>> getServiceIds()
        Specified by:
        getServiceIds in interface io.micronaut.discovery.DiscoveryClient
        Overrides:
        getServiceIds in class io.micronaut.discovery.CompositeDiscoveryClient