Class EurekaEndpointGroupBuilder

java.lang.Object
com.linecorp.armeria.client.AbstractClientOptionsBuilder
com.linecorp.armeria.client.AbstractWebClientBuilder
com.linecorp.armeria.client.eureka.EurekaEndpointGroupBuilder
All Implemented Interfaces:
com.linecorp.armeria.client.endpoint.DynamicEndpointGroupSetters

public final class EurekaEndpointGroupBuilder extends com.linecorp.armeria.client.AbstractWebClientBuilder implements com.linecorp.armeria.client.endpoint.DynamicEndpointGroupSetters
  • Method Details

    • selectionStrategy

      public EurekaEndpointGroupBuilder selectionStrategy(com.linecorp.armeria.client.endpoint.EndpointSelectionStrategy selectionStrategy)
      Sets the EndpointSelectionStrategy of the EurekaEndpointGroup.
    • regions

      public EurekaEndpointGroupBuilder regions(String... regions)
      Sets the specified regions. EurekaEndpointGroup will retrieve the registry information which belongs to the regions.
    • regions

      public EurekaEndpointGroupBuilder regions(Iterable<String> regions)
      Sets the specified regions. EurekaEndpointGroup will retrieve the registry information which belongs to the regions.
    • appName

      public EurekaEndpointGroupBuilder appName(String appName)
      Sets the specified appName. EurekaEndpointGroup will retrieve the registry information whose application name is the specified appName.
      Throws:
      IllegalStateException - if vipAddress(String) or secureVipAddress(String) is called already
    • instanceId

      public EurekaEndpointGroupBuilder instanceId(String instanceId)
      Sets the specified instanceId. EurekaEndpointGroup will only retrieve the registry information whose instance ID is the specified instanceId.
      Throws:
      IllegalStateException - if vipAddress(String) or secureVipAddress(String) is called already
    • vipAddress

      public EurekaEndpointGroupBuilder vipAddress(String vipAddress)
      Sets the specified vipAddress. EurekaEndpointGroup will retrieve the registry information whose VIP address is the specified vipAddress.
      Throws:
      IllegalStateException - if appName(String), instanceId(String) or secureVipAddress(String) is called already
    • secureVipAddress

      public EurekaEndpointGroupBuilder secureVipAddress(String secureVipAddress)
      Sets the specified secureVipAddress. EurekaEndpointGroup will retrieve the registry information whose VIP address is the specified secureVipAddress.
      Throws:
      IllegalStateException - if appName(String), instanceId(String) or vipAddress(String) is called already
    • registryFetchInterval

      public EurekaEndpointGroupBuilder registryFetchInterval(Duration registryFetchInterval)
      Sets the interval between fetching registry requests. 30000L milliseconds is used by default and it's not recommended to modify this value. See fetch-registry.
    • registryFetchIntervalSeconds

      @Deprecated public EurekaEndpointGroupBuilder registryFetchIntervalSeconds(long registryFetchIntervalSeconds)
      Sets the interval between fetching registry requests in seconds. 30 is used by default and it's not recommended to modify this value. See fetch-registry.
    • registryFetchIntervalMillis

      public EurekaEndpointGroupBuilder registryFetchIntervalMillis(long registryFetchIntervalMillis)
      Sets the interval between fetching registry requests in milliseconds. 30000L is used by default and it's not recommended to modify this value. See fetch-registry.
    • build

      public EurekaEndpointGroup build()
      Returns a newly-created EurekaEndpointGroup based on the properties set so far. Note that if RetryingClient was not set using decorator(DecoratingHttpClientFunction), RetryingClient is applied automatically using RetryingClient.newDecorator(RetryRule.failsafe(), 3).
    • options

      public EurekaEndpointGroupBuilder options(com.linecorp.armeria.client.ClientOptions options)
      Overrides:
      options in class com.linecorp.armeria.client.AbstractClientOptionsBuilder
    • options

      public EurekaEndpointGroupBuilder options(com.linecorp.armeria.client.ClientOptionValue<?>... options)
      Overrides:
      options in class com.linecorp.armeria.client.AbstractClientOptionsBuilder
    • options

      public EurekaEndpointGroupBuilder options(Iterable<com.linecorp.armeria.client.ClientOptionValue<?>> options)
      Overrides:
      options in class com.linecorp.armeria.client.AbstractClientOptionsBuilder
    • option

      public <T> EurekaEndpointGroupBuilder option(com.linecorp.armeria.client.ClientOption<T> option, T value)
      Overrides:
      option in class com.linecorp.armeria.client.AbstractClientOptionsBuilder
    • option

      public <T> EurekaEndpointGroupBuilder option(com.linecorp.armeria.client.ClientOptionValue<T> optionValue)
      Overrides:
      option in class com.linecorp.armeria.client.AbstractClientOptionsBuilder
    • factory

      public EurekaEndpointGroupBuilder factory(com.linecorp.armeria.client.ClientFactory factory)
      Overrides:
      factory in class com.linecorp.armeria.client.AbstractClientOptionsBuilder
    • writeTimeout

      public EurekaEndpointGroupBuilder writeTimeout(Duration writeTimeout)
      Overrides:
      writeTimeout in class com.linecorp.armeria.client.AbstractClientOptionsBuilder
    • writeTimeoutMillis

      public EurekaEndpointGroupBuilder writeTimeoutMillis(long writeTimeoutMillis)
      Overrides:
      writeTimeoutMillis in class com.linecorp.armeria.client.AbstractClientOptionsBuilder
    • responseTimeout

      public EurekaEndpointGroupBuilder responseTimeout(Duration responseTimeout)
      Overrides:
      responseTimeout in class com.linecorp.armeria.client.AbstractClientOptionsBuilder
    • responseTimeoutMillis

      public EurekaEndpointGroupBuilder responseTimeoutMillis(long responseTimeoutMillis)
      Overrides:
      responseTimeoutMillis in class com.linecorp.armeria.client.AbstractClientOptionsBuilder
    • maxResponseLength

      public EurekaEndpointGroupBuilder maxResponseLength(long maxResponseLength)
      Overrides:
      maxResponseLength in class com.linecorp.armeria.client.AbstractClientOptionsBuilder
    • requestAutoAbortDelay

      public EurekaEndpointGroupBuilder requestAutoAbortDelay(Duration delay)
      Overrides:
      requestAutoAbortDelay in class com.linecorp.armeria.client.AbstractClientOptionsBuilder
    • requestAutoAbortDelayMillis

      public EurekaEndpointGroupBuilder requestAutoAbortDelayMillis(long delayMillis)
      Overrides:
      requestAutoAbortDelayMillis in class com.linecorp.armeria.client.AbstractClientOptionsBuilder
    • requestIdGenerator

      public EurekaEndpointGroupBuilder requestIdGenerator(Supplier<com.linecorp.armeria.common.RequestId> requestIdGenerator)
      Overrides:
      requestIdGenerator in class com.linecorp.armeria.client.AbstractClientOptionsBuilder
    • successFunction

      public EurekaEndpointGroupBuilder successFunction(com.linecorp.armeria.common.SuccessFunction successFunction)
      Overrides:
      successFunction in class com.linecorp.armeria.client.AbstractClientOptionsBuilder
    • endpointRemapper

      public EurekaEndpointGroupBuilder endpointRemapper(Function<? super com.linecorp.armeria.client.Endpoint,? extends com.linecorp.armeria.client.endpoint.EndpointGroup> endpointRemapper)
      Overrides:
      endpointRemapper in class com.linecorp.armeria.client.AbstractClientOptionsBuilder
    • decorator

      public EurekaEndpointGroupBuilder decorator(Function<? super com.linecorp.armeria.client.HttpClient,? extends com.linecorp.armeria.client.HttpClient> decorator)
      Overrides:
      decorator in class com.linecorp.armeria.client.AbstractClientOptionsBuilder
    • decorator

      public EurekaEndpointGroupBuilder decorator(com.linecorp.armeria.client.DecoratingHttpClientFunction decorator)
      Overrides:
      decorator in class com.linecorp.armeria.client.AbstractClientOptionsBuilder
    • rpcDecorator

      public EurekaEndpointGroupBuilder rpcDecorator(Function<? super com.linecorp.armeria.client.RpcClient,? extends com.linecorp.armeria.client.RpcClient> decorator)
      Overrides:
      rpcDecorator in class com.linecorp.armeria.client.AbstractWebClientBuilder
    • rpcDecorator

      public EurekaEndpointGroupBuilder rpcDecorator(com.linecorp.armeria.client.DecoratingRpcClientFunction decorator)
      Overrides:
      rpcDecorator in class com.linecorp.armeria.client.AbstractWebClientBuilder
    • clearDecorators

      public EurekaEndpointGroupBuilder clearDecorators()
      Overrides:
      clearDecorators in class com.linecorp.armeria.client.AbstractClientOptionsBuilder
    • addHeader

      public EurekaEndpointGroupBuilder addHeader(CharSequence name, Object value)
      Overrides:
      addHeader in class com.linecorp.armeria.client.AbstractClientOptionsBuilder
    • addHeaders

      public EurekaEndpointGroupBuilder addHeaders(Iterable<? extends Map.Entry<? extends CharSequence,?>> headers)
      Overrides:
      addHeaders in class com.linecorp.armeria.client.AbstractClientOptionsBuilder
    • setHeader

      public EurekaEndpointGroupBuilder setHeader(CharSequence name, Object value)
      Overrides:
      setHeader in class com.linecorp.armeria.client.AbstractClientOptionsBuilder
    • setHeaders

      public EurekaEndpointGroupBuilder setHeaders(Iterable<? extends Map.Entry<? extends CharSequence,?>> headers)
      Overrides:
      setHeaders in class com.linecorp.armeria.client.AbstractClientOptionsBuilder
    • auth

      public EurekaEndpointGroupBuilder auth(com.linecorp.armeria.common.auth.BasicToken token)
      Overrides:
      auth in class com.linecorp.armeria.client.AbstractClientOptionsBuilder
    • auth

      public EurekaEndpointGroupBuilder auth(com.linecorp.armeria.common.auth.OAuth1aToken token)
      Overrides:
      auth in class com.linecorp.armeria.client.AbstractClientOptionsBuilder
    • auth

      public EurekaEndpointGroupBuilder auth(com.linecorp.armeria.common.auth.OAuth2Token token)
      Overrides:
      auth in class com.linecorp.armeria.client.AbstractClientOptionsBuilder
    • auth

      public EurekaEndpointGroupBuilder auth(com.linecorp.armeria.common.auth.AuthToken token)
      Overrides:
      auth in class com.linecorp.armeria.client.AbstractClientOptionsBuilder
    • followRedirects

      public EurekaEndpointGroupBuilder followRedirects()
      Overrides:
      followRedirects in class com.linecorp.armeria.client.AbstractClientOptionsBuilder
    • followRedirects

      public EurekaEndpointGroupBuilder followRedirects(com.linecorp.armeria.client.redirect.RedirectConfig redirectConfig)
      Overrides:
      followRedirects in class com.linecorp.armeria.client.AbstractClientOptionsBuilder
    • contextCustomizer

      public EurekaEndpointGroupBuilder contextCustomizer(Consumer<? super com.linecorp.armeria.client.ClientRequestContext> contextCustomizer)
      Overrides:
      contextCustomizer in class com.linecorp.armeria.client.AbstractClientOptionsBuilder
    • allowEmptyEndpoints

      public EurekaEndpointGroupBuilder allowEmptyEndpoints(boolean allowEmptyEndpoints)
      Specified by:
      allowEmptyEndpoints in interface com.linecorp.armeria.client.endpoint.DynamicEndpointGroupSetters
    • selectionTimeout

      public EurekaEndpointGroupBuilder selectionTimeout(Duration selectionTimeout)
      Sets the timeout to wait until a successful Endpoint selection. Duration.ZERO disables the timeout. If unspecified, Flags.defaultResponseTimeoutMillis() is used by default.
      Specified by:
      selectionTimeout in interface com.linecorp.armeria.client.endpoint.DynamicEndpointGroupSetters
    • selectionTimeoutMillis

      public EurekaEndpointGroupBuilder selectionTimeoutMillis(long selectionTimeoutMillis)
      Sets the timeout to wait until a successful Endpoint selection. 0 disables the timeout. If unspecified, Flags.defaultResponseTimeoutMillis() is used by default.
      Specified by:
      selectionTimeoutMillis in interface com.linecorp.armeria.client.endpoint.DynamicEndpointGroupSetters