ThisServer
public class Server
extends java.lang.Object
Modifier and Type | Field | Description |
---|---|---|
protected long |
accHbDelay |
|
protected int |
adminState |
|
protected java.lang.String |
context |
|
protected int |
downTime |
|
protected int |
heartBeatAlarmDelay |
|
protected java.lang.String |
host |
|
protected long |
lastHeartBeat |
|
protected int |
maxHbDelay |
|
protected java.lang.String |
microservice |
|
protected int |
minHbDelay |
|
protected int |
numHeartBeats |
|
protected java.lang.String |
port |
|
protected org.enanoservices.servermonitor.ServerState.State |
state |
Constructor | Description |
---|---|
Server() |
|
Server(java.lang.String host,
java.lang.String microservice,
java.lang.String port,
java.lang.String context,
int adminState,
java.lang.String srvVersion,
java.lang.String nsVersion,
int serverDownTime,
int heartBeatAlarmDelay) |
create new servers when heartbeat received
|
Modifier and Type | Method | Description |
---|---|---|
protected int |
calcHeartBeatDelay(long now,
long timeSent) |
|
void |
checkHearBeatTimeout(long nowMs,
IServerMonitor monitor) |
used for remote servers
called from ServerHolder.updateServersState(), from ServerMonitorThread
- check if heart beat has been received within the last x ms
- change the server state to disconnect if it hasn't
- no action if server is connected since the heartbeat message
will be updating the server state
|
boolean |
checkIfServer(java.lang.String host,
java.lang.String port,
java.lang.String microservice) |
|
java.lang.String |
getAdminClientState() |
|
int |
getAdminState() |
|
java.lang.String |
getClientState() |
|
java.lang.String |
getContext() |
|
java.lang.String |
getCtxUrl() |
get server's url including context
|
float |
getHbAvgDelay() |
|
java.lang.String |
getHost() |
|
long |
getLastHeartBeat() |
|
java.lang.String |
getMaxHbDelay() |
|
java.lang.String |
getMicroservice() |
|
java.lang.String |
getMinHbDelay() |
|
java.lang.String |
getNsVersion() |
|
java.lang.String |
getOrigin() |
|
java.lang.String |
getPort() |
|
org.enanoservices.servermonitor.ServerState.State |
getServerState() |
|
java.lang.String |
getServVersion() |
|
java.lang.String |
getSrvVersion() |
|
int |
getState() |
|
java.lang.String |
getUrl() |
get server's url
|
void |
init(java.lang.String host,
java.lang.String microservice,
java.lang.String port,
java.lang.String context,
int adminState,
java.lang.String srvVersion,
java.lang.String nsVersion,
int serverDownTime,
int heartBeatAlarmDelay) |
initialize server - use by ThisServer
|
boolean |
isAdminUp() |
|
boolean |
isDisconnected(long nowMs) |
|
void |
processHeartBeat(org.enanoservices.servermonitor.HeartBeatBody body,
long timeSent,
IServerMonitor monitor) |
process heart-beat but only for remote servers not for this one
ThisServer overrides this method
first heart-beat reports server as disconnected, which is finetoggleAdminState
server not connected detected in checkHearBeatTimeout, called by ServerMonitorThread
caller needs to obtain the lock
|
void |
resetHeartBeatCounters() |
reset heartbeat counters if ---
|
void |
setNsVersion(java.lang.String nsVersion) |
|
void |
setSrvVersion(java.lang.String srvVersion) |
|
void |
setState(org.enanoservices.servermonitor.ServerState.State state) |
|
void |
toggleAdminState() |
protected java.lang.String microservice
protected java.lang.String host
protected java.lang.String port
protected java.lang.String context
protected org.enanoservices.servermonitor.ServerState.State state
protected int adminState
protected long lastHeartBeat
protected int heartBeatAlarmDelay
protected int minHbDelay
protected int maxHbDelay
protected int numHeartBeats
protected long accHbDelay
protected int downTime
public Server()
public Server(java.lang.String host, java.lang.String microservice, java.lang.String port, java.lang.String context, int adminState, java.lang.String srvVersion, java.lang.String nsVersion, int serverDownTime, int heartBeatAlarmDelay)
host
- - hostmicroservice
- - micro serviceport
- - portcontext
- - micro service's contextadminState
- - server's admin statesrvVersion
- - server's versionnsVersion
- - server's eNanoServices.jar versionserverDownTime
- - down timeheartBeatAlarmDelay
- - heartbeat alarm delaypublic void init(java.lang.String host, java.lang.String microservice, java.lang.String port, java.lang.String context, int adminState, java.lang.String srvVersion, java.lang.String nsVersion, int serverDownTime, int heartBeatAlarmDelay)
host
- - hostmicroservice
- - micro serviceport
- - server's portcontext
- - contextadminState
- - server's admin statesrvVersion
- - microservice versionnsVersion
- - enanoservices versionserverDownTime
- - server's downtimeheartBeatAlarmDelay
- - heart-beat alarm delaypublic java.lang.String getHost()
public java.lang.String getMicroservice()
public java.lang.String getPort()
public java.lang.String getContext()
public boolean isDisconnected(long nowMs)
public void checkHearBeatTimeout(long nowMs, IServerMonitor monitor)
nowMs
- - current timemonitor
- - IServerMonitor monitorpublic boolean checkIfServer(java.lang.String host, java.lang.String port, java.lang.String microservice)
public void toggleAdminState()
public int getState()
public org.enanoservices.servermonitor.ServerState.State getServerState()
public void setState(org.enanoservices.servermonitor.ServerState.State state)
public int getAdminState()
public boolean isAdminUp()
public long getLastHeartBeat()
public java.lang.String getSrvVersion()
public void setSrvVersion(java.lang.String srvVersion)
public java.lang.String getNsVersion()
public void setNsVersion(java.lang.String nsVersion)
public java.lang.String getOrigin()
public java.lang.String getMinHbDelay()
public java.lang.String getMaxHbDelay()
public float getHbAvgDelay()
public void processHeartBeat(org.enanoservices.servermonitor.HeartBeatBody body, long timeSent, IServerMonitor monitor)
body
- - HeartBeatBodytimeSent
- - time mesage sent, it comes from BrokerMessageHeader.tmsmonitor
- - server monitor objectprotected int calcHeartBeatDelay(long now, long timeSent)
public void resetHeartBeatCounters()
public java.lang.String getCtxUrl()
public java.lang.String getUrl()
public java.lang.String getClientState()
public java.lang.String getAdminClientState()
public java.lang.String getServVersion()