aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/onap/nbi/ServiceRegisterRunner.java36
1 files changed, 29 insertions, 7 deletions
diff --git a/src/main/java/org/onap/nbi/ServiceRegisterRunner.java b/src/main/java/org/onap/nbi/ServiceRegisterRunner.java
index 5e0c711..8c10e56 100644
--- a/src/main/java/org/onap/nbi/ServiceRegisterRunner.java
+++ b/src/main/java/org/onap/nbi/ServiceRegisterRunner.java
@@ -46,6 +46,12 @@ public class ServiceRegisterRunner implements CommandLineRunner {
@Value("${msb.discovery.port}")
private int DISCOVERY_PORT;
+ @Value("${msb.discovery.retry}")
+ private int RETRY;
+
+ @Value("${msb.discovery.retry_interval}")
+ private int RETRY_INTERVAL;
+
@Value("${msb.service.host}")
private String SERVICE_HOST;
@@ -75,7 +81,10 @@ public class ServiceRegisterRunner implements CommandLineRunner {
@Override
public void run(String... strings) throws Exception {
- if (!IS_ENABLED) return;
+ if (!IS_ENABLED) {
+ logger.info("Registration with msb discovery is not enabled");
+ return;
+ }
MicroServiceInfo msinfo = new MicroServiceInfo();
msinfo.setServiceName(SERVICE_NAME);
@@ -99,21 +108,34 @@ public class ServiceRegisterRunner implements CommandLineRunner {
msinfo.setNodes(nodes);
logger.info(
- "Register this service with msb discovery (" + DISCOVERY_HOST + ":" + DISCOVERY_PORT + "):\n"
+ "Registering with msb discovery (" + DISCOVERY_HOST + ":" + DISCOVERY_PORT + "):\n"
+ " - host: [" + thisNode.getIp() + "]\n"
+ " - port: [" + thisNode.getPort() + "]\n"
+ " - name: [" + msinfo.getServiceName() + "]\n"
+ " - version: [" + msinfo.getVersion() + "]\n"
+ " - url: [" + msinfo.getUrl() + "]\n"
+ " - path: [" + msinfo.getPath() + "]\n"
- + " - protocol: [" + msinfo.getProtocol() + "]\n"
+ + " - protocol: [" + msinfo.getProtocol() + "]g\n"
+ " - visualRange: [" + msinfo.getVisualRange() + "]\n"
+ " - enableSSL: [" + SERVICE_ENABLE_SSL + "]\n"
);
- MSBServiceClient msbClient = new MSBServiceClient(DISCOVERY_HOST, DISCOVERY_PORT);
- MicroServiceFullInfo microServiceFullInfo = msbClient.registerMicroServiceInfo(msinfo);
-
- logger.debug("microServiceFullInfo = {}", microServiceFullInfo.toString());
+ int attempt = 0;
+ while (true) {
+ attempt += 1;
+ try {
+ logger.info("Registration with msb discovery (attempt {}/{})", attempt, RETRY);
+ MSBServiceClient msbClient = new MSBServiceClient(DISCOVERY_HOST, DISCOVERY_PORT);
+ MicroServiceFullInfo microServiceFullInfo = msbClient.registerMicroServiceInfo(msinfo);
+ logger.debug("Registration with msb discovery done, microServiceFullInfo = {}", microServiceFullInfo.toString());
+ break;
+ } catch (Exception ex) {
+ if (attempt == RETRY) {
+ throw new Exception("Registration with msb discovery FAILED");
+ }
+ }
+ logger.info("Registration with msb discovery (attempt {}/{}) FAILED. Sleep {}ms", attempt, RETRY, RETRY_INTERVAL);
+ Thread.sleep(RETRY_INTERVAL);
+ }
}
}