in src/main/java/com/amazonaws/fixengineonaws/FixEngine.java [501:532]
private int getLeaderStatus(CallableStatement heartbeatSprocStmt, boolean iAmTheLeader, boolean useJdbcHeartbeat) throws SQLException {
// LOGGER.fine(MY_IP+"*********************HEARTBEAT********************");
int leaderStatus = LEADER_STATUS_STILL_NOT_LEADER;
String lastIpAdd = "";
Timestamp lastTimestamp = null;
Timestamp timeNow = null;
int timeDiffSec = 0;
// LOGGER.fine(MY_IP+"****HEARTBEAT: USE_JDBC: " + USE_JDBC + "; heartbeatSprocStmt = " + heartbeatSprocStmt);
if(!useJdbcHeartbeat) {
if(iAmTheLeader) {
leaderStatus = LEADER_STATUS_STILL_LEADER;
} else {
leaderStatus = LEADER_STATUS_JUST_BECAME_LEADER;
}
LOGGER.info(MY_IP+"****HEARTBEAT: NO SQL CONNECTION. DEFAULT LEADER STATUS: " + leaderStatus);
} else {
try {
heartbeatSprocStmt.executeQuery();
leaderStatus = heartbeatSprocStmt.getInt(2);
lastIpAdd = heartbeatSprocStmt.getString(3);
lastTimestamp = heartbeatSprocStmt.getTimestamp(4);
timeNow = heartbeatSprocStmt.getTimestamp(5);
timeDiffSec = heartbeatSprocStmt.getInt(6);
LOGGER.info(MY_IP+"****HEARTBEAT: SQL SPROC SAYS: leaderStatus: " + leaderStatus + "; lastIpAdd: " + lastIpAdd + "; lastTimestamp: " + lastTimestamp + "; timeNow: " + timeNow + "; timeDiffSec: " + timeDiffSec);
} catch (SQLException e) {
LOGGER.severe(MY_IP+"HEARTBEAT: Exception executing SQL SPROC: " + e);
e.printStackTrace();
throw e;
}
}
return leaderStatus;
}