X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=engine-d%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fholmes%2Fengine%2Fdcae%2FConfigFileScanningTask.java;h=85e4a74e50bd8b3ffc627dd11cf13670a60cc4b1;hb=c4bd70c1f74cd04c441f76de4359e166a089660a;hp=2835a45ec788e94dbd094a8b78c5faf41678bf4f;hpb=560291e128455ccb139847b5cb410b10097cd387;p=holmes%2Fengine-management.git diff --git a/engine-d/src/main/java/org/onap/holmes/engine/dcae/ConfigFileScanningTask.java b/engine-d/src/main/java/org/onap/holmes/engine/dcae/ConfigFileScanningTask.java index 2835a45..85e4a74 100644 --- a/engine-d/src/main/java/org/onap/holmes/engine/dcae/ConfigFileScanningTask.java +++ b/engine-d/src/main/java/org/onap/holmes/engine/dcae/ConfigFileScanningTask.java @@ -20,14 +20,15 @@ import org.onap.holmes.common.ConfigFileScanner; import org.onap.holmes.common.dcae.DcaeConfigurationsCache; import org.onap.holmes.common.dcae.entity.DcaeConfigurations; import org.onap.holmes.common.dcae.utils.DcaeConfigurationParser; -import org.onap.holmes.common.dropwizard.ioc.utils.ServiceLocatorHolder; import org.onap.holmes.common.exception.CorrelationException; import org.onap.holmes.common.utils.Md5Util; +import org.onap.holmes.common.utils.SpringContextUtil; import org.onap.holmes.dsa.dmaappolling.Subscriber; import org.onap.holmes.engine.dmaap.SubscriberAction; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.util.HashMap; import java.util.Map; public class ConfigFileScanningTask implements Runnable { @@ -35,7 +36,7 @@ public class ConfigFileScanningTask implements Runnable { final private static Logger LOGGER = LoggerFactory.getLogger(ConfigFileScanningTask.class); private String configFile = "/opt/hemtopics/cfy.json"; private ConfigFileScanner configFileScanner; - private String prevConfigMd5 = Md5Util.md5(null); + private String prevConfigMd5 = Md5Util.md5(new HashMap()); public ConfigFileScanningTask(ConfigFileScanner configFileScanner) { this.configFileScanner = configFileScanner; @@ -59,22 +60,24 @@ public class ConfigFileScanningTask implements Runnable { DcaeConfigurations dcaeConfigurations = null; try { dcaeConfigurations = DcaeConfigurationParser.parse(entry.getValue().toString()); + if (dcaeConfigurations != null) { + DcaeConfigurationsCache.setDcaeConfigurations(dcaeConfigurations); + addSubscribers(dcaeConfigurations); + } } catch (CorrelationException e) { LOGGER.error(e.getMessage(), e); + // reset the value of the pre-md5 so that configs could be re-processed during the next scanning. + prevConfigMd5 = null; } catch (Exception e) { LOGGER.warn("Failed to deal with the new configurations.", e); - } - - if (dcaeConfigurations != null) { - DcaeConfigurationsCache.setDcaeConfigurations(dcaeConfigurations); - addSubscribers(dcaeConfigurations); + // reset the value of the pre-md5 so that configs could be re-processed during the next scanning. + prevConfigMd5 = null; } } } private void addSubscribers(DcaeConfigurations dcaeConfigurations) { - SubscriberAction subscriberAction = ServiceLocatorHolder.getLocator() - .getService(SubscriberAction.class); + SubscriberAction subscriberAction = SpringContextUtil.getBean(SubscriberAction.class); for (String key : dcaeConfigurations.getSubKeys()) { Subscriber subscriber = new Subscriber(); subscriber.setTopic(key);