import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;
-
+import javax.annotation.PreDestroy;
import java.io.FileInputStream;
import java.io.InputStream;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+import java.util.Set;
@Component("cassandra-health-check")
public class CassandraHealthCheck {
private int HC_FormulaNumber;
private SdcSchemaUtils sdcSchemaUtils;
+
@PostConstruct
private void init() {
log.info("creating cluster for Cassandra Health Check.");
//Create cluster from nodes in cassandra configuration
- cluster = sdcSchemaUtils.createCluster();
- if (cluster == null) {
- log.error("Failure create cassandra cluster.");
- return;
- }
-
- Metadata metadata = cluster.getMetadata();
+
+ Metadata metadata = sdcSchemaUtils.getMetadata();
if (metadata == null) {
log.error("Failure get cassandra metadata.");
}
}
-
+
+
public boolean getCassandraStatus() {
if (GeneralUtility.isEmptyString(localDataCenterName)) {
return false;
}
- Cluster cluster = null;
+
Session session = null;
try {
- log.info("creating cluster for Cassandra for monitoring.");
- cluster = sdcSchemaUtils.createCluster();
- if (cluster == null) {
- log.error("Failure create cassandra cluster.");
+ log.info("creating cluster for Cassandra for monitoring.");
+
+ session = sdcSchemaUtils.connect();
+ log.info("The cassandra session is {}", session);
+ if(session == null){
+ log.error("Failed to connect to cassandra ");
return false;
}
- session = cluster.connect();
- Metadata metadata = cluster.getMetadata();
+
+ Metadata metadata = sdcSchemaUtils.getMetadata();
if (metadata == null) {
log.error("Failure get cassandra metadata.");
return false;
} finally {
if (session != null) {
+ log.info("close session for Cassandra for monitoring.");
session.close();
}
- if (cluster != null) {
- cluster.close();
- }
+
+ }
+ }
+
+ @PreDestroy
+ public void closeClient() {
+ if (sdcSchemaUtils!= null) {
+ sdcSchemaUtils.closeCluster();
}
+ log.info("** sdcSchemaUtils cluster closed");
}
}