+ public void register2Msb(MicroServiceInfo msinfo) throws CorrelationException {\r
+ MSBServiceClient msbClient = new MSBServiceClient(MicroServiceConfig.getMsbServerIp(),\r
+ MicroServiceConfig.getMsbServerPort());\r
+\r
+ log.info("Start register Holmes Service to MSB...");\r
+ MicroServiceFullInfo microServiceFullInfo = null;\r
+ int retry = 0;\r
+ while (null == microServiceFullInfo && retry < 20) {\r
+ log.info("Holmes Service Registration. Retry: " + retry);\r
+ retry++;\r
+ try {\r
+ microServiceFullInfo = msbClient.registerMicroServiceInfo(msinfo, false);\r
+ } catch (RouteException e) {\r
+\r
+ }\r
+\r
+ if (null == microServiceFullInfo) {\r
+ log.warn("Failed to register the service to MSB. Sleep 30s and try again.");\r
+ threadSleep(30000);\r
+ } else {\r
+ log.info("Registration succeeded!");\r
+ break;\r
+ }\r
+ }\r
+\r
+ if (null == microServiceFullInfo) {\r
+ throw new CorrelationException("Failed to register the service to MSB!");\r
+ }\r
+\r
+ log.info("Service registration completed.");\r
+ }\r
+\r