diff options
Diffstat (limited to 'components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/service/ConsumerThread.java')
-rw-r--r-- | components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/service/ConsumerThread.java | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/service/ConsumerThread.java b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/service/ConsumerThread.java index 39235cd5..6868bc46 100644 --- a/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/service/ConsumerThread.java +++ b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/service/ConsumerThread.java @@ -21,6 +21,8 @@ package org.onap.slice.analysis.ms.service; +import java.util.List; + import org.onap.slice.analysis.ms.configdb.IConfigDbService; import org.onap.slice.analysis.ms.models.Configuration; import org.onap.slice.analysis.ms.utils.BeanUtil; @@ -31,7 +33,7 @@ import org.slf4j.LoggerFactory; * This Thread class consumes message from pm data queue and sends onset message to policy */ public class ConsumerThread extends Thread { - private static Logger log = LoggerFactory.getLogger(PmThread.class); + private static Logger log = LoggerFactory.getLogger(ConsumerThread.class); private PmDataQueue pmDataQueue; private IConfigDbService configDbService; private SnssaiSamplesProcessor snssaiSamplesProcessor; @@ -55,16 +57,31 @@ public class ConsumerThread extends Thread { public void run() { boolean done = false; String snssai = ""; + boolean result = false; + List<String> nfs = null; while (!done) { try { Thread.sleep(initialDelaySec); snssai = pmDataQueue.getSnnsaiFromQueue(); if (!snssai.equals("")) { - log.info("Consumer thread started for s-nssai {}",snssai); - snssaiSamplesProcessor.processSamplesOfSnnsai(snssai, configDbService.fetchNetworkFunctionsOfSnssai(snssai)); + log.info("Consumer thread processing data for s-nssai {}",snssai); + try { + nfs = configDbService.fetchNetworkFunctionsOfSnssai(snssai); + } + catch(Exception e) { + pmDataQueue.putSnssaiToQueue(snssai); + log.error("Exception caught while fetching nfs of snssai {}, {}", snssai, e.getMessage()); + } + if(nfs != null) { + result = snssaiSamplesProcessor.processSamplesOfSnnsai(snssai, nfs); + if(!result) { + log.info("Not enough samples to process for {}",snssai); + pmDataQueue.putSnssaiToQueue(snssai); + } + } } } catch (Exception e) { - log.error("Exception in Consumer Thread ", e); + log.error("Exception in Consumer Thread, {}", e.getMessage()); done = true; } } |