- 6.108.0 (latest)
- 6.107.0
- 6.103.0
- 6.102.1
- 6.101.1
- 6.100.0
- 6.99.0
- 6.98.1
- 6.97.1
- 6.96.1
- 6.95.1
- 6.94.0
- 6.93.0
- 6.89.0
- 6.88.0
- 6.87.0
- 6.86.0
- 6.85.0
- 6.83.0
- 6.82.0
- 6.80.1
- 6.79.0
- 6.77.0
- 6.74.1
- 6.72.0
- 6.71.0
- 6.69.0
- 6.68.0
- 6.66.0
- 6.65.1
- 6.62.0
- 6.60.0
- 6.58.0
- 6.57.0
- 6.56.0
- 6.55.0
- 6.54.0
- 6.53.0
- 6.52.1
- 6.51.0
- 6.50.1
- 6.49.0
- 6.25.1
- 6.24.0
- 6.23.4
- 6.22.0
- 6.21.2
- 6.20.0
- 6.19.1
- 6.18.0
- 6.17.4
- 6.14.1
public interface ChannelEndpointCacheCache for server connections used in location-aware routing.
Implementations are expected to cache ChannelEndpoint instances such that repeated calls with the same address return the same instance. This allows routing components to efficiently manage server references.
Implementations must be thread-safe. Multiple threads may concurrently call #get(String) with different addresses.
Methods
defaultChannel()
public abstract ChannelEndpoint defaultChannel()Returns the default channel endpoint.
The default channel is the original endpoint configured in com.google.cloud.spanner.SpannerOptions. It is used as a fallback when the location cache does not have routing information for a request.
| Returns | |
|---|---|
| Type | Description |
ChannelEndpoint |
the default channel, never null |
evict(String address)
public abstract void evict(String address)Evicts a server connection from the cache and gracefully shuts down its channel.
This method should be called when a server becomes unhealthy or is no longer needed. The channel shutdown is graceful: existing RPCs are allowed to complete, but new RPCs will not be accepted on this channel.
If the address is not in the cache, this method does nothing.
| Parameter | |
|---|---|
| Name | Description |
address |
Stringthe server address to evict |
get(String address)
public abstract ChannelEndpoint get(String address)Returns a cached channel for the given address, creating it if needed.
If a channel for this address already exists in the cache, the cached instance is returned. Otherwise, a new server connection is created and cached.
| Parameter | |
|---|---|
| Name | Description |
address |
Stringthe server address in "host:port" format |
| Returns | |
|---|---|
| Type | Description |
ChannelEndpoint |
a channel instance for the address, never null |
shutdown()
public abstract void shutdown()Shuts down all cached server connections.
This method should be called when the Spanner client is closed to release all resources. Each channel is shut down gracefully, allowing in-flight RPCs to complete.
After calling this method, the cache should not be used to create new connections.