X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Forg%2Fonap%2Fclamp%2Fclds%2Fconfig%2Fspring%2FCldsSdcControllerConfiguration.java;h=46c483f994fcab54fa6e45979f001f584be145e5;hb=a176ab885edbffbdf28a7afecf1f174175066173;hp=7cca263d1f34b4192345161b872a744c8b98a4f1;hpb=3271165f71b5aee7bc9b5186ee2566c8dd2f2626;p=clamp.git 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 7cca263d..46c483f9 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); } }); }