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 lookup accepting a name. If the name is a valid SRV entry, an SRV lookup is done, otherwise a regular lookup. For more control use the overload accepting a Lookup.

      • 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

        Convenience lookup accepting a name. If the name is a valid SRV entry, an SRV lookup is done, otherwise a regular lookup. For more control use the overload accepting a Lookup.

        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]