import javax.inject.Inject;
import java.util.HashSet;
import java.util.Set;
+import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
import static org.onap.holmes.common.utils.CommonUtils.getEnv;
@Service
public class Initializer {
private static final Logger logger = LoggerFactory.getLogger(Initializer.class);
- private static boolean readyForMsbReg = false;
+ private volatile static boolean readyForMsbReg = false;
private MsbRegister msbRegister;
@Inject
@PostConstruct
private void init() {
- waitUntilReady();
- try {
- msbRegister.register2Msb(createMicroServiceInfo());
- } catch (CorrelationException e) {
- logger.error(e.getMessage(), e);
- }
+ Executors.newSingleThreadExecutor().execute(() -> {
+ waitUntilReady();
+ try {
+ msbRegister.register2Msb(createMicroServiceInfo());
+ } catch (CorrelationException e) {
+ logger.error(e.getMessage(), e);
+ }
+ });
}
private void waitUntilReady() {
int count = 1;
- while(!readyForMsbReg) {
+ while (!readyForMsbReg) {
if (count > 20) {
break;
}