public interface ServerLoadProbe extends CacheCallback
The getLoad method will be called once per poll interval see
CacheServer.setLoadPollInterval(long)
The ServerLoad
object returned by the
getLoad method will be sent to the locator every time the load for this server changes. To
conserve bandwidth, it's a good idea to round the load calculations so that the load will not be
sent too frequently.
The ServerLoad
object contains two floating point numbers indicating the load on the
server due to client to server connections and due to subscription connections. When routing a
connection, the locator will choose the server that has the lowest load.
It is generally a good idea to pick a load function where 0 connections corresponds to 0 load. The default gemfire load probes return a fraction between 0 and 1, where 0 indicates no load, and 1 indicates the server is completely loaded.
Because cache servers can be stopped, reconfigured, and restarted, the open and close methods on this callback can be called several times. If the same callback object is installed on multiple cache servers, open and close will be called once for each cache server.
Modifier and Type | Method and Description |
---|---|
void |
close()
Signals that a cache server using this load probe has been closed.
|
ServerLoad |
getLoad(ServerMetrics metrics)
Get the load on this server.
|
void |
open()
Signals that a cache server using this load probe has been started.
|
init, initialize
ServerLoad getLoad(ServerMetrics metrics)
metrics
- the ServerMetrics
for the servervoid open()
void close()
close
in interface CacheCallback
RegionService.close()
,
Region.close()
,
Region.localDestroyRegion()
,
Region.destroyRegion()
,
AttributesMutator