private ArrayList prepareConfigChangeList(AvailabilityServiceEvent event) {
System.out.println("newCtx: " + event.getConfigContext());
ArrayList list = new ArrayList();
ServerConfigLookup newLookup = new ServerConfigLookup(event.getConfigContext());
ServerConfigLookup oldLookup = new ServerConfigLookup();
//ha-store-healthcheck-enabled
boolean oldHealthCheckEnabled = oldLookup.getHadbHealthCheckFromConfig();
boolean newHealthCheckEnabled = newLookup.getHadbHealthCheckFromConfigDynamic();
if(oldHealthCheckEnabled != newHealthCheckEnabled) {
ConfigChangeElement element =
new ConfigChangeElement(EEHADBHealthChecker.HEALTH_CHECK_ENABLED, new Boolean(newHealthCheckEnabled));
list.add(element);
}
//ha-store-healthcheck-interval-in-seconds
int oldHealthCheckInterval =
oldLookup.getHaStoreHealthcheckIntervalInSecondsFromConfig();
int newHealthCheckInterval =
newLookup.getHaStoreHealthcheckIntervalInSecondsFromConfigDynamic();
if(oldHealthCheckInterval != newHealthCheckInterval) {
ConfigChangeElement element =
new ConfigChangeElement(EEHADBHealthChecker.HEALTH_CHECK_INTERVAL, new Integer(newHealthCheckInterval));
list.add(element);
}
boolean useNew = false;
boolean recomputeConnectionURL = false;
//ha-agent-hosts
String oldAgentHosts =
oldLookup.getHadbAgentHostsFromConfig();
String newAgentHosts =
newLookup.getHadbAgentHostsFromConfigDynamic();
useNew = false;
if(oldAgentHosts == null) {
if(newAgentHosts != null) {
useNew = true;
}
} else {
if(!oldAgentHosts.equals(newAgentHosts)) {
useNew = true;
}
}
if(useNew) {
recomputeConnectionURL = true;
ConfigChangeElement element =
new ConfigChangeElement(EEHADBHealthChecker.HA_AGENT_HOSTS, newAgentHosts);
list.add(element);
}
//ha-agent-port
String oldAgentPort =
oldLookup.getHadbAgentPortFromConfig();
String newAgentPort =
newLookup.getHadbAgentPortFromConfigDynamic();
useNew = false;
if(oldAgentPort == null) {
if(newAgentPort != null) {
useNew = true;
}
} else {
if(!oldAgentPort.equals(newAgentPort)) {
useNew = true;
}
}
if(useNew) {
recomputeConnectionURL = true;
ConfigChangeElement element =
new ConfigChangeElement(EEHADBHealthChecker.HA_AGENT_PORT, newAgentPort);
list.add(element);
}
if(recomputeConnectionURL) {
String newAgentConnUrl =
newLookup.getHadbAgentConnectionURLFromConfigDynamic();
ConfigChangeElement element =
new ConfigChangeElement(EEHADBHealthChecker.HA_AGENT_CONNECTION_URL, newAgentConnUrl);
list.add(element);
}
//ha-store-name
String oldStoreName =
oldLookup.getHadbDatabaseNameFromConfig();
String newStoreName =
newLookup.getHadbDatabaseNameFromConfigDynamic();
useNew = false;
if(oldStoreName == null) {
if(newStoreName != null) {