bugfix - catch runtime exceptions during MSB reg
[holmes/common.git] / holmes-actions / src / main / java / org / onap / holmes / common / utils / MsbRegister.java
index 79ccbdc..3b72aaf 100644 (file)
@@ -53,23 +53,27 @@ public class MsbRegister {
         int retry = 0;
         int interval = 5;
         while (null == microServiceFullInfo && retry < 20) {
-            log.info("Holmes Service Registration. Retry: " + retry++);
-
-            microServiceFullInfo = client
-                    .header("Accept", MediaType.APPLICATION_JSON)
-                    .queryParam("createOrUpdate", true)
-                    .post(String.format("%s://%s:%s/api/microservices/v1/services",
-                            isHttpsEnabled ? PROTOCOL_HTTPS : PROTOCOL_HTTP, msbAddrInfo[0], msbAddrInfo[1]),
-                            Entity.entity(msinfo, MediaType.APPLICATION_JSON),
-                            MicroServiceFullInfo.class);
-
-            if (null == microServiceFullInfo) {
-                log.warn(String.format("Failed to register the service to MSB. Sleep %ds and try again.", interval));
-                threadSleep(TimeUnit.SECONDS.toSeconds(interval));
-                interval += 5;
-            } else {
-                log.info("Registration succeeded!");
-                break;
+            try {
+                log.info("Holmes Service Registration. Retry: " + retry++);
+
+                microServiceFullInfo = client
+                        .header("Accept", MediaType.APPLICATION_JSON)
+                        .queryParam("createOrUpdate", true)
+                        .post(String.format("%s://%s:%s/api/microservices/v1/services",
+                                isHttpsEnabled ? PROTOCOL_HTTPS : PROTOCOL_HTTP, msbAddrInfo[0], msbAddrInfo[1]),
+                                Entity.entity(msinfo, MediaType.APPLICATION_JSON),
+                                MicroServiceFullInfo.class);
+
+                if (null == microServiceFullInfo) {
+                    log.warn(String.format("Failed to register the service to MSB. Sleep %ds and try again.", interval));
+                    threadSleep(TimeUnit.SECONDS.toSeconds(interval));
+                    interval += 5;
+                } else {
+                    log.info("Registration succeeded!");
+                    break;
+                }
+            } catch (Exception e) {
+                log.warn("Unexpected exception: " + e.getMessage(), e);
             }
         }