This API call provides an indication of the status of ExtraView. It is often used on a server remote to the ExtraView installation and called every few minutes to check that the ExtraView server is functioning correctly. If the call does not get a valid return, an alarm or notification may then be sent to an administrator.
As the getHeartbeat call utilizes the API, care must be taken when the site is used with two factor authorization enabled via the ENABLE_TWO_FACTOR_AUTH behavior setting. The user account used to perform the request must be set to bypass 2FA, via its setting in the user account maintenance screen. This is required as there is no way in which an API call can enter the required second factor,
Input
Class | Name | Type | Required | Details |
GetHeartbeatRequest | userId | String | Yes | The callers user name |
GetHeartbeatRequest | password | String | Yes | The callers password |
Output
Class | Name | Type | Required | Details |
GetHeartbeatResponse | success | boolean | Yes | True is succeeded False if failed |
GetHeartbeatResponse | returnCode | String | No | See Appendix for details |
GetHeartbeatResponse | returnMessage | String | No | Human readable message |
GetHeartbeatResponse | evStatus | String | Yes | ExtraView System Status |
GetHeartbeatResponse | dbStatus | String | Yes | ExtraView Database Status |
GetHeartbeatResponse | dbDate | Date | Yes | The current date in the Database |
GetHeartbeatResponse | freeMemory | String | Yes | Free memory on application server |
GetHeartbeatResponse | totalMemory | Integer | Yes | Total memory on application server |
GetHeartbeatResponse | serviceCount | Integer | Yes | The current number of Extraview sessions |
GetHeartbeatResponse | executeTime | Long | Yes | The time it took to execute this call |
GetHeartbeatResponse | tasks | Array of TaskInfo | No | The information on tasks configured on the node of the server where the service is executed |
TaskInfo | nodeId | String | No | The name of the node hosting the service |
TaskInfo | startOption | String | No | |
TaskInfo | taskState | String | No | START_NOW, STOP_NOW, START_ON_BOOT, or none |
TaskInfo | pollInterval | String | No | The minimum number of seconds between polled executions |
TaskInfo | threads | Array of ThreadInfo | No | |
ThreadInfo | threadState | String | No | Running or stopped |
ThreadInfo | secsSinceExecution | Long | No | The number of seconds since the task was most recently scheduled to run |
ThreadInfo | priority | Long | No | The priority of the thread (using Java thread priority values). This may not appear in the output |
Example
public static void testGetHeartbeat(EVSystemServiceStub stub) {
try {
GetHeartbeatDocument reqEnvelope = GetHeartbeatDocument.Factory.newInstance();
GetHeartbeatRequest request = reqEnvelope.addNewGetHeartbeat().addNewParam0();
request.setUserId(ServiceClientHelper.ADMIN_USER_ID);
request.setPassword(ServiceClientHelper.ADMIN_PASSWORD);
GetHeartbeatResponseDocument resEnvelope = stub.getHeartbeat(reqEnvelope);
GetHeartbeatResponse response = resEnvelope.getGetHeartbeatResponse().getReturn();
if (response.getSuccess()) {
System.out.println("success: [" + response.getReturnCode() + "] : " +
response.getReturnMessage());
} else {
System.out.println("failure: [" + response.getReturnCode() + "] : " +
response.getReturnMessage());
}
} catch (Exception e) {
e.printStackTrace();
System.err.println("nnn");
}
}