X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=netconf-server%2Fsrc%2Fmain%2Fjava%2Forg%2Fcommscope%2Ftr069adapter%2Fnetconf%2Fserver%2FRestartNetconfServerHandler.java;h=6f7f9f2734656782cc5d7f67ff5ce7dbf1b93ea3;hb=641a6c47b4ee74412e9386b3c95693adda3cafc9;hp=57e3602bfb697aec9d2afffd508b2a8985b9b57a;hpb=8c7432b8380a355e89df05f070e7d88e599912fd;p=oam%2Ftr069-adapter.git diff --git a/netconf-server/src/main/java/org/commscope/tr069adapter/netconf/server/RestartNetconfServerHandler.java b/netconf-server/src/main/java/org/commscope/tr069adapter/netconf/server/RestartNetconfServerHandler.java index 57e3602..6f7f9f2 100644 --- a/netconf-server/src/main/java/org/commscope/tr069adapter/netconf/server/RestartNetconfServerHandler.java +++ b/netconf-server/src/main/java/org/commscope/tr069adapter/netconf/server/RestartNetconfServerHandler.java @@ -18,10 +18,9 @@ package org.commscope.tr069adapter.netconf.server; -import java.util.List; - import org.commscope.tr069adapter.netconf.entity.NetConfServerDetailsEntity; import org.commscope.tr069adapter.netconf.error.RetryFailedException; +import org.commscope.tr069adapter.netconf.server.helper.ServerPortAllocationHelper; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -38,32 +37,33 @@ public class RestartNetconfServerHandler { @Autowired NetConfServerManagerImpl manager; + @Autowired + ServerPortAllocationHelper serverPortAllocator; + @Retryable(value = {RetryFailedException.class}, maxAttempts = 100, backoff = @Backoff(delay = 15000)) - public void restart(List serverDetailsList) - throws RetryFailedException { + public void restart(NetConfServerDetailsEntity entity) throws RetryFailedException { + boolean isSucess = false; try { // restart netconf servers - manager.restartServersOnStartup(serverDetailsList); + serverPortAllocator.checkAndReserveServerPort(entity.getListenPort()); + isSucess = manager.restartServersOnStartup(entity); } catch (Exception e) { logger.error("Retry to netconf servers has is failed. {}", e.toString()); throw new RetryFailedException(e); } - - if (!serverDetailsList.isEmpty()) { - logger.error("Failed to start some of netconf servers. Retrying starting servers : {}", - serverDetailsList); + if (!isSucess) { throw new RetryFailedException( - "Failed to start some of netconf servers. server list : " + serverDetailsList); + "Failed to start some of netconf servers. server list : " + entity); } logger.debug("Successfully started all failed netconf servers."); } @Recover - public void recover(List serverDetailsList) { + public void recover(NetConfServerDetailsEntity entity) { logger.debug("Retrying starting failed netconf servers."); try { - restart(serverDetailsList); + restart(entity); } catch (RetryFailedException e) { logger.error("Failed to start failed netconf servers. {}", e.toString()); }