Class ServiceDiscovery


  • public abstract class ServiceDiscovery
    extends java.lang.Object
    Implement to provide a service discovery method

    • Constructor Detail

      • ServiceDiscovery

        public ServiceDiscovery()
    • Method Detail

      • lookup

        public abstract scala.concurrent.Future<ServiceDiscovery.Resolved> lookup​(Lookup lookup,
                                                                                  scala.concurrent.duration.FiniteDuration resolveTimeout)
        Scala API: Perform lookup using underlying discovery implementation.

        Parameters:
        lookup - A service discovery lookup.
        resolveTimeout - Timeout. Up to the discovery-method to adhere to his
        Returns:
        Resolved future should be failed with a [DiscoveryTimeoutException] if the resolveTimeout is exceeded.
      • lookup

        public scala.concurrent.Future<ServiceDiscovery.Resolved> lookup​(java.lang.String serviceName,
                                                                         scala.concurrent.duration.FiniteDuration resolveTimeout)
        Scala API: Perform lookup using underlying discovery implementation.

        Convenience for when only a name is required.

      • lookup

        public java.util.concurrent.CompletionStage<ServiceDiscovery.Resolved> lookup​(Lookup query,
                                                                                      java.time.Duration resolveTimeout)
        Java API: Perform basic lookup using underlying discovery implementation.

        While the implementation may provide other settings and ways to configure timeouts, the passed resolveTimeout should never be exceeded, as it signals the application's eagerness to wait for a result for this specific lookup.

        The returned future should be failed once resolveTimeout has passed with a ServiceDiscovery.DiscoveryTimeoutException.

      • lookup

        public java.util.concurrent.CompletionStage<ServiceDiscovery.Resolved> lookup​(java.lang.String serviceName,
                                                                                      java.time.Duration resolveTimeout)
        Java API

        Parameters:
        serviceName - A name, see discovery-method's docs for how this is interpreted
        resolveTimeout - Timeout. Up to the discovery-method to adhere to this and complete the CompletionStage with a [DiscoveryTimeoutException]