summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/main/java/org/onap/clamp/clds/Application.java2
-rw-r--r--src/main/java/org/onap/clamp/clds/config/spring/CldsSdcControllerConfiguration.java21
2 files changed, 21 insertions, 2 deletions
diff --git a/src/main/java/org/onap/clamp/clds/Application.java b/src/main/java/org/onap/clamp/clds/Application.java
index d9989d433..5975b9d47 100644
--- a/src/main/java/org/onap/clamp/clds/Application.java
+++ b/src/main/java/org/onap/clamp/clds/Application.java
@@ -48,6 +48,7 @@ import org.springframework.boot.web.support.SpringBootServletInitializer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.scheduling.annotation.EnableScheduling;
@SpringBootApplication
@ComponentScan(basePackages = {
@@ -59,6 +60,7 @@ import org.springframework.scheduling.annotation.EnableAsync;
})
@EnableConfigurationProperties
@EnableAsync
+@EnableScheduling
public class Application extends SpringBootServletInitializer {
protected static final EELFLogger EELF_LOGGER = EELFManager.getInstance().getLogger(Application.class);
diff --git a/src/main/java/org/onap/clamp/clds/config/spring/CldsSdcControllerConfiguration.java b/src/main/java/org/onap/clamp/clds/config/spring/CldsSdcControllerConfiguration.java
index 7cca263d1..46c483f99 100644
--- a/src/main/java/org/onap/clamp/clds/config/spring/CldsSdcControllerConfiguration.java
+++ b/src/main/java/org/onap/clamp/clds/config/spring/CldsSdcControllerConfiguration.java
@@ -36,12 +36,14 @@ import org.onap.clamp.clds.config.ClampProperties;
import org.onap.clamp.clds.config.sdc.SdcControllersConfiguration;
import org.onap.clamp.clds.exception.sdc.controller.SdcControllerException;
import org.onap.clamp.clds.sdc.controller.SdcSingleController;
+import org.onap.clamp.clds.sdc.controller.SdcSingleControllerStatus;
import org.onap.clamp.clds.sdc.controller.installer.CsarInstaller;
import org.onap.clamp.clds.sdc.controller.installer.CsarInstallerImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Profile;
+import org.springframework.scheduling.annotation.Scheduled;
@Configuration
@Profile("clamp-sdc-controller")
@@ -63,19 +65,34 @@ public class CldsSdcControllerConfiguration {
try {
sdcController.initSdc();
} catch (SdcControllerException e) {
- logger.error("Exception caught during initialization of sdc controller", e);
+ logger.error("Exception caught when starting sdc controller", e);
}
sdcControllersList.add(sdcController);
});
}
+ @Scheduled(fixedRate = 120000)
+ public void checkAllSdcControllers() {
+ logger.info("Checking that all SDC Controllers defined are up and running");
+ for (SdcSingleController controller : sdcControllersList) {
+ try {
+ if (SdcSingleControllerStatus.STOPPED.equals(controller.getControllerStatus())) {
+ controller.initSdc();
+ }
+ } catch (SdcControllerException e) {
+ logger.error("Exception caught when rebooting sdc controller", e);
+ }
+ }
+ logger.info("SDC Controllers check completed");
+ }
+
@PreDestroy
public void killSdcControllers() {
sdcControllersList.forEach(e -> {
try {
e.closeSdc();
} catch (SdcControllerException e1) {
- logger.error("Exception caught during initialization of sdc controller", e1);
+ logger.error("Exception caught when stopping sdc controller", e1);
}
});
}