diff options
author | 2022-04-28 11:46:53 +0800 | |
---|---|---|
committer | 2022-04-28 14:50:27 +0800 | |
commit | f9d58145927896ee8239d646500c1ad376146ddd (patch) | |
tree | ed203fd9937cc58162f5dd22181e85b492aaa788 /holmes-actions/src | |
parent | 4573a82249a185aad65dc2b86ce8c5ae71bd43f4 (diff) |
Made the retry interval longer during MSB reg.
Issue-ID: HOLMES-536
Signed-off-by: GuangrongFu <fu.guangrong@zte.com.cn>
Change-Id: Ib1be1e8b8d193a7a4bb6bdb63f55dcbda8bc029c
Diffstat (limited to 'holmes-actions/src')
-rw-r--r-- | holmes-actions/src/main/java/org/onap/holmes/common/utils/MsbRegister.java | 21 | ||||
-rw-r--r-- | holmes-actions/src/test/java/org/onap/holmes/common/utils/MsbRegisterTest.java | 12 |
2 files changed, 20 insertions, 13 deletions
diff --git a/holmes-actions/src/main/java/org/onap/holmes/common/utils/MsbRegister.java b/holmes-actions/src/main/java/org/onap/holmes/common/utils/MsbRegister.java index 018da17..b8f6b86 100644 --- a/holmes-actions/src/main/java/org/onap/holmes/common/utils/MsbRegister.java +++ b/holmes-actions/src/main/java/org/onap/holmes/common/utils/MsbRegister.java @@ -1,5 +1,5 @@ /** - * Copyright 2017-2020 ZTE Corporation. + * Copyright 2017-2022 ZTE Corporation. * <p> * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,6 +16,7 @@ package org.onap.holmes.common.utils; +import lombok.Setter; import org.apache.commons.lang3.StringUtils; import org.jvnet.hk2.annotations.Service; import org.onap.holmes.common.config.MicroServiceConfig; @@ -38,6 +39,12 @@ public class MsbRegister { private JerseyClient client = JerseyClient.newInstance(); + @Setter + private int totalRetryTimes = 20; + + @Setter + private int interval = 20; + public MsbRegister() { } @@ -52,11 +59,10 @@ public class MsbRegister { MicroServiceFullInfo microServiceFullInfo = null; int retry = 0; - int interval = 5; - while (null == microServiceFullInfo && retry < 20) { + while (null == microServiceFullInfo && retry < totalRetryTimes) { try { - log.info("Holmes Service Registration. Retry: " + retry++); - + log.info("Holmes Service Registration. Times: " + ++retry); + int time = interval * retry; microServiceFullInfo = client .header("Accept", MediaType.APPLICATION_JSON) .queryParam("createOrUpdate", true) @@ -66,9 +72,8 @@ public class MsbRegister { 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; + log.warn(String.format("Failed to register the service to MSB. Sleep %ds and try again.", time)); + threadSleep(TimeUnit.SECONDS.toSeconds(time)); } else { log.info("Registration succeeded!"); break; diff --git a/holmes-actions/src/test/java/org/onap/holmes/common/utils/MsbRegisterTest.java b/holmes-actions/src/test/java/org/onap/holmes/common/utils/MsbRegisterTest.java index cf40c17..0201935 100644 --- a/holmes-actions/src/test/java/org/onap/holmes/common/utils/MsbRegisterTest.java +++ b/holmes-actions/src/test/java/org/onap/holmes/common/utils/MsbRegisterTest.java @@ -1,5 +1,5 @@ /** - * Copyright 2017-2020 ZTE Corporation. + * Copyright 2017-2022 ZTE Corporation. * <p> * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -85,13 +85,14 @@ public class MsbRegisterTest { } @Test - public void test_register2Msb_fail_once() { - expect(mockedJerseyClient.header("Accept", MediaType.APPLICATION_JSON)).andReturn(mockedJerseyClient).times(2); - expect(mockedJerseyClient.queryParam("createOrUpdate", true)).andReturn(mockedJerseyClient).times(2); + public void test_register2Msb_fail_n_times() { + int requestTimes = 3; + expect(mockedJerseyClient.header("Accept", MediaType.APPLICATION_JSON)).andReturn(mockedJerseyClient).times(requestTimes); + expect(mockedJerseyClient.queryParam("createOrUpdate", true)).andReturn(mockedJerseyClient).times(requestTimes); expect(mockedJerseyClient.post(anyObject(String.class), anyObject(Entity.class), anyObject(Class.class))) - .andReturn(null); + .andReturn(null).times(requestTimes - 1); expect(mockedJerseyClient.post(anyObject(String.class), anyObject(Entity.class), @@ -108,6 +109,7 @@ public class MsbRegisterTest { PowerMock.replayAll(); MsbRegister msbRegister = new MsbRegister(); + msbRegister.setInterval(1); try { msbRegister.register2Msb(msi); } catch (CorrelationException e) { |