X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=dmaap-adaptor-java%2Fsrc%2Fmain%2Fjava%2Forg%2Foran%2Fdmaapadapter%2Ftasks%2FProducerRegstrationTask.java;h=ec3f2b29cb3536f8daa0ce7dfe808510f0fbda50;hb=aa73209488503ee51db068c6143c7d4ec298a036;hp=c9284b5bbd03836700ab882b1d564206c272cf14;hpb=3deeefa87a81f8724520ce0e3a55d88a5d328204;p=nonrtric.git diff --git a/dmaap-adaptor-java/src/main/java/org/oran/dmaapadapter/tasks/ProducerRegstrationTask.java b/dmaap-adaptor-java/src/main/java/org/oran/dmaapadapter/tasks/ProducerRegstrationTask.java index c9284b5b..ec3f2b29 100644 --- a/dmaap-adaptor-java/src/main/java/org/oran/dmaapadapter/tasks/ProducerRegstrationTask.java +++ b/dmaap-adaptor-java/src/main/java/org/oran/dmaapadapter/tasks/ProducerRegstrationTask.java @@ -42,6 +42,7 @@ import org.oran.dmaapadapter.repository.InfoTypes; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; @@ -77,14 +78,17 @@ public class ProducerRegstrationTask { } @Scheduled(fixedRate = REGISTRATION_SUPERVISION_INTERVAL_MS) - public void supervisionTask() { - checkRegistration() // + public void runSupervisionTask() { + supervisionTask().subscribe( // + null, // + this::handleRegistrationFailure, // + this::handleRegistrationCompleted); + } + + public Mono supervisionTask() { + return checkRegistration() // .filter(isRegistrationOk -> !isRegistrationOk || !this.isRegisteredInIcs) // - .flatMap(isRegisterred -> registerTypesAndProducer()) // - .subscribe( // - null, // - this::handleRegistrationFailure, // - this::handleRegistrationCompleted); + .flatMap(isRegisterred -> registerTypesAndProducer()); } private void handleRegistrationCompleted() { @@ -153,7 +157,7 @@ public class ProducerRegstrationTask { InputStream in = getClass().getResourceAsStream(filePath); logger.debug("Reading application schema file from: {} with: {}", filePath, in); if (in == null) { - throw new ServiceException("Could not readfile: " + filePath); + throw new ServiceException("Could not readfile: " + filePath, HttpStatus.INTERNAL_SERVER_ERROR); } return CharStreams.toString(new InputStreamReader(in, StandardCharsets.UTF_8)); }