Class EurekaUpdatingListenerBuilder
java.lang.Object
com.linecorp.armeria.client.AbstractClientOptionsBuilder
com.linecorp.armeria.client.AbstractWebClientBuilder
com.linecorp.armeria.server.eureka.EurekaUpdatingListenerBuilder
public final class EurekaUpdatingListenerBuilder extends AbstractWebClientBuilder
Builds a
EurekaUpdatingListener
, which registers the server to Eureka.
Examples
EurekaUpdatingListener listener =
EurekaUpdatingListener.builder("eureka.com:8001/eureka/v2")
.instanceId("i-00000000")
.setHostname("armeria.service.1")
.ipAddr("192.168.10.10")
.vipAddress("armeria.service.com:8080");
.build();
ServerBuilder sb = Server.builder();
sb.addListener(listener);
-
Method Summary
Methods inherited from class com.linecorp.armeria.client.AbstractWebClientBuilder
buildWebClient, clientBuilderParams
Methods inherited from class com.linecorp.armeria.client.AbstractClientOptionsBuilder
buildOptions, buildOptions
-
Method Details
-
renewalIntervalSeconds
Sets the interval between renewal in seconds. 30 is used by default and it's not recommended to modify this value. See renew. -
leaseDurationSeconds
Sets the lease duration in seconds. 90 is used by default and it's not recommended to modify this value. See renew. -
hostname
Sets the hostname.Server.defaultHostname()
is set if not specified. -
instanceId
Sets the ID of this instance.hostname(String)
is set if not specified. -
appName
Sets the name of the application.hostname(String)
is set if not specified. -
appGroupName
Sets the group name of the application. -
ipAddr
Sets the IP address.SystemInfo.defaultNonLoopbackIpV4Address()
is set if not specified. -
port
Sets the port used forSessionProtocol.HTTP
. -
securePort
Sets the port used forSessionProtocol.HTTPS
. -
vipAddress
Sets the VIP address.hostname(String)
is set if not specified. -
secureVipAddress
Sets the secure VIP address.hostname(String)
is set if not specified. -
homePageUrl
Sets the home page URL. -
statusPageUrl
Sets the status page URL. -
healthCheckUrl
Sets the health check URL. IfHealthCheckService
is added toServerBuilder
and Server.activePort(SessionProtocol.HTTP) returns an active port, then this URL will be automatically create using the information of theHealthCheckService
. -
secureHealthCheckUrl
Sets the secure health check URL. IfHealthCheckService
is added toServerBuilder
and Server.activePort(SessionProtocol.HTTPS) returns an active port, then this URL will be automatically create using the information of theHealthCheckService
. -
metadata
Sets the metadata. -
dataCenterName
Sets the name of the data center. -
dataCenterMetadata
Sets the metadata of the data center. -
build
Returns a newly-createdEurekaUpdatingListener
based on the properties of this builder. Note that ifRetryingClient
was not set usingdecorator(DecoratingHttpClientFunction)
,RetryingClient
is applied automatically using RetryingClient.newDecorator(RetryRule.failsafe(), 3). -
options
Description copied from class:AbstractClientOptionsBuilder
Adds the specifiedClientOptions
.- Overrides:
options
in classAbstractClientOptionsBuilder
-
options
Description copied from class:AbstractClientOptionsBuilder
Adds the specifiedClientOptionValue
s.- Overrides:
options
in classAbstractClientOptionsBuilder
-
options
Description copied from class:AbstractClientOptionsBuilder
Adds the specifiedClientOptionValue
s.- Overrides:
options
in classAbstractClientOptionsBuilder
-
option
Description copied from class:AbstractClientOptionsBuilder
Adds the specifiedClientOption
and itsvalue
.- Overrides:
option
in classAbstractClientOptionsBuilder
-
option
Description copied from class:AbstractClientOptionsBuilder
Adds the specifiedClientOptionValue
.- Overrides:
option
in classAbstractClientOptionsBuilder
-
factory
Description copied from class:AbstractClientOptionsBuilder
Sets theClientFactory
used for creating a client. The default isClientFactory.ofDefault()
.- Overrides:
factory
in classAbstractClientOptionsBuilder
-
writeTimeout
Description copied from class:AbstractClientOptionsBuilder
Sets the timeout of a socket write attempt.- Overrides:
writeTimeout
in classAbstractClientOptionsBuilder
- Parameters:
writeTimeout
- the timeout.0
disables the timeout.
-
writeTimeoutMillis
Description copied from class:AbstractClientOptionsBuilder
Sets the timeout of a socket write attempt in milliseconds.- Overrides:
writeTimeoutMillis
in classAbstractClientOptionsBuilder
- Parameters:
writeTimeoutMillis
- the timeout in milliseconds.0
disables the timeout.
-
responseTimeout
Description copied from class:AbstractClientOptionsBuilder
Sets the timeout of a response.- Overrides:
responseTimeout
in classAbstractClientOptionsBuilder
- Parameters:
responseTimeout
- the timeout.0
disables the timeout.
-
responseTimeoutMillis
Description copied from class:AbstractClientOptionsBuilder
Sets the timeout of a response in milliseconds.- Overrides:
responseTimeoutMillis
in classAbstractClientOptionsBuilder
- Parameters:
responseTimeoutMillis
- the timeout in milliseconds.0
disables the timeout.
-
maxResponseLength
Description copied from class:AbstractClientOptionsBuilder
Sets the maximum allowed length of a server response in bytes.- Overrides:
maxResponseLength
in classAbstractClientOptionsBuilder
- Parameters:
maxResponseLength
- the maximum length in bytes.0
disables the limit.
-
requestIdGenerator
Description copied from class:AbstractClientOptionsBuilder
- Overrides:
requestIdGenerator
in classAbstractClientOptionsBuilder
-
endpointRemapper
public EurekaUpdatingListenerBuilder endpointRemapper(Function<? super Endpoint,? extends EndpointGroup> endpointRemapper)Description copied from class:AbstractClientOptionsBuilder
Sets aFunction
that remaps anEndpoint
into anEndpointGroup
. ThisClientOption
is useful when you need to override a single target host into a group of hosts to enable client-side load-balancing, e.g.MyService.Iface client = Clients.newClient("tbinary+http://example.com/api", MyService.Iface.class); EndpointGroup myGroup = EndpointGroup.of(Endpoint.of("node-1.example.com")), Endpoint.of("node-2.example.com"))); MyService.Iface derivedClient = Clients.newDerivedClient(client, options -> { return options.toBuilder() .endpointRemapper(endpoint -> { if (endpoint.host().equals("example.com")) { return myGroup; } else { return endpoint; } }) .build(); }); // This request goes to 'node-1.example.com' or 'node-2.example.com'. derivedClient.call();
Note that the remapping does not occur recursively but only once.
- Overrides:
endpointRemapper
in classAbstractClientOptionsBuilder
- See Also:
ClientOption.ENDPOINT_REMAPPER
,ClientOptions.endpointRemapper()
-
decorator
public EurekaUpdatingListenerBuilder decorator(Function<? super HttpClient,? extends HttpClient> decorator)Description copied from class:AbstractClientOptionsBuilder
Adds the specified HTTP-leveldecorator
.- Overrides:
decorator
in classAbstractClientOptionsBuilder
- Parameters:
decorator
- theFunction
that transforms anHttpClient
to another
-
decorator
Description copied from class:AbstractClientOptionsBuilder
Adds the specified HTTP-leveldecorator
.- Overrides:
decorator
in classAbstractClientOptionsBuilder
- Parameters:
decorator
- theDecoratingHttpClientFunction
that intercepts an invocation
-
rpcDecorator
public EurekaUpdatingListenerBuilder rpcDecorator(Function<? super RpcClient,? extends RpcClient> decorator)Description copied from class:AbstractClientOptionsBuilder
Adds the specified RPC-leveldecorator
.- Overrides:
rpcDecorator
in classAbstractWebClientBuilder
- Parameters:
decorator
- theFunction
that transforms anRpcClient
to another
-
rpcDecorator
Description copied from class:AbstractClientOptionsBuilder
Adds the specified RPC-leveldecorator
.- Overrides:
rpcDecorator
in classAbstractWebClientBuilder
- Parameters:
decorator
- theDecoratingRpcClientFunction
that intercepts an invocation
-
addHttpHeader
Description copied from class:AbstractClientOptionsBuilder
Adds the specified HTTP header.- Overrides:
addHttpHeader
in classAbstractClientOptionsBuilder
-
addHttpHeaders
public EurekaUpdatingListenerBuilder addHttpHeaders(Iterable<? extends Map.Entry<? extends CharSequence,?>> httpHeaders)Description copied from class:AbstractClientOptionsBuilder
Adds the specified HTTP headers.- Overrides:
addHttpHeaders
in classAbstractClientOptionsBuilder
-
setHttpHeader
Description copied from class:AbstractClientOptionsBuilder
Sets the specified HTTP header.- Overrides:
setHttpHeader
in classAbstractClientOptionsBuilder
-
setHttpHeaders
public EurekaUpdatingListenerBuilder setHttpHeaders(Iterable<? extends Map.Entry<? extends CharSequence,?>> httpHeaders)Description copied from class:AbstractClientOptionsBuilder
Sets the specified HTTP headers.- Overrides:
setHttpHeaders
in classAbstractClientOptionsBuilder
-
auth
Description copied from class:AbstractClientOptionsBuilder
Sets the HTTP basic access authentication header usingHttpHeaderNames.AUTHORIZATION
.- Overrides:
auth
in classAbstractClientOptionsBuilder
-
auth
Description copied from class:AbstractClientOptionsBuilder
Sets the OAuth Core 1.0 Revision A header usingHttpHeaderNames.AUTHORIZATION
.- Overrides:
auth
in classAbstractClientOptionsBuilder
-
auth
Description copied from class:AbstractClientOptionsBuilder
Sets the OAuth 2.0 header usingHttpHeaderNames.AUTHORIZATION
.- Overrides:
auth
in classAbstractClientOptionsBuilder
-