@Service\r
public class MSBRegisterUtil {\r
\r
- public void register(ServiceRegisterEntity entity) throws IOException {\r
- log.info("Start register Holmes Service to MSB...");\r
- boolean flag = false;\r
- int retry = 0;\r
- while (!flag && retry < 20) {\r
- log.info("Holmes Service Registration. Retry: " + retry);\r
- retry++;\r
- flag = innerRegister(entity);\r
- if (!flag) {\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
- log.info("Service registration completed.");\r
- }\r
-\r
- private boolean innerRegister(ServiceRegisterEntity entity) {\r
- try {\r
- log.info("msbServerAddr:" + MicroServiceConfig.getMsbServerAddr());\r
- log.info("entity:" + entity);\r
- MicroserviceBusRest resourceserviceproxy = ConsumerFactory.createConsumer(\r
- MicroServiceConfig.getMsbServerAddr(), MicroserviceBusRest.class);\r
- resourceserviceproxy.registerServce("false", entity);\r
- } catch (Exception error) {\r
- log.error("Micro-service registration failed!" + error.getMessage(), error);\r
- return false;\r
- }\r
- return true;\r
- }\r
-\r
public void register2Msb(MicroServiceInfo msinfo) throws CorrelationException {\r
- MSBServiceClient msbClient = new MSBServiceClient(MicroServiceConfig.getMsbServerIp(),\r
- MicroServiceConfig.getMsbServerPort());\r
+ String[] msbAddrInfo = MicroServiceConfig.getMsbAddrInfo();\r
+ MSBServiceClient msbClient = new MSBServiceClient(msbAddrInfo[0],\r
+ Integer.parseInt(msbAddrInfo[1]));\r
\r
- log.info("Start register Holmes Service to MSB...");\r
+ log.info("Start to register Holmes Service to MSB...");\r
MicroServiceFullInfo microServiceFullInfo = null;\r
int retry = 0;\r
while (null == microServiceFullInfo && retry < 20) {\r