X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=rulemgt%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fholmes%2Frulemgt%2Fmsb%2FMsbQuery.java;h=df0783d61ebdb41a47111873c1cea76dd508a699;hb=7dbc431fa39b0c0094033780c78cb6f871221f85;hp=2f440b6b4cd342501b2b9ce7d561a4f407abe114;hpb=82d2318187ea739a0b14442cbd82a3a7f6a419a7;p=holmes%2Frule-management.git diff --git a/rulemgt/src/main/java/org/onap/holmes/rulemgt/msb/MsbQuery.java b/rulemgt/src/main/java/org/onap/holmes/rulemgt/msb/MsbQuery.java index 2f440b6..df0783d 100644 --- a/rulemgt/src/main/java/org/onap/holmes/rulemgt/msb/MsbQuery.java +++ b/rulemgt/src/main/java/org/onap/holmes/rulemgt/msb/MsbQuery.java @@ -1,5 +1,5 @@ /** - * Copyright 2017 ZTE Corporation. + * Copyright 2017-2020 ZTE Corporation. *

* Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,73 +15,55 @@ */ package org.onap.holmes.rulemgt.msb; -import lombok.extern.slf4j.Slf4j; -import org.glassfish.hk2.api.ServiceLocator; import org.onap.holmes.common.dropwizard.ioc.utils.ServiceLocatorHolder; -import org.onap.holmes.rulemgt.send.RuleAllocation; import org.onap.holmes.rulemgt.send.Ip4AddingRule; -import org.onap.holmes.rulemgt.wrapper.RuleMgtWrapper; +import org.onap.holmes.rulemgt.send.RuleAllocator; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import java.util.List; import java.util.Timer; import java.util.TimerTask; +import static java.util.concurrent.TimeUnit.SECONDS; -@Slf4j public class MsbQuery { - private RuleAllocation ruleAllocation; - + static final private Logger log = LoggerFactory.getLogger(MsbQuery.class); + final private RuleAllocator ruleAllocator; private Ip4AddingRule ip4AddingRule; - - private EngineIpList engineIpList; - - private RuleMgtWrapper ruleMgtWrapper; - - private List timerIpList; + private EngineInsQueryTool engineInsQueryTool; public MsbQuery() { - ruleAllocation = new RuleAllocation(); - - ServiceLocator locator = ServiceLocatorHolder.getLocator(); - ip4AddingRule = locator.getService(Ip4AddingRule.class); - engineIpList = locator.getService(EngineIpList.class); - ruleMgtWrapper = locator.getService(RuleMgtWrapper.class); + ruleAllocator = new RuleAllocator(); + ip4AddingRule = ServiceLocatorHolder.getLocator().getService(Ip4AddingRule.class); + engineInsQueryTool = ServiceLocatorHolder.getLocator().getService(EngineInsQueryTool.class); } public void startTimer() { try { - timer(); + new Timer().schedule(new TimerTask() { + + public void run() { + try { + List timerIpList = engineInsQueryTool.getInstanceList(); + log.info(String.format("There are %d engine instance(s) running currently.", timerIpList.size())); + + ip4AddingRule.setIpList(timerIpList); + ruleAllocator.allocateRules(timerIpList); + } catch (Exception e) { + log.error("The timing query engine instance failed ", e); + } + } + + }, SECONDS.toMillis(10), SECONDS.toMillis(30)); } catch (Exception e) { log.error("MSBQuery startTimer timer task failed !" + e.getMessage(), e); try { - Thread.sleep(30000); + SECONDS.sleep(30); } catch (InterruptedException e1) { Thread.currentThread().interrupt(); } } - - } - - public void timer() throws Exception { - Timer timer = new Timer(); - timer.schedule(new TimerTask() { - - public void run() { - try { - timerIpList = engineIpList.getServiceCount(); - log.info(String.format("There are %d engine instance(s) running currently.", timerIpList.size())); - - ip4AddingRule.setIpList(timerIpList); - ruleAllocation.judgeAndAllocateRule(timerIpList); - } catch (Exception e) { - log.error("The timing query engine instance failed ", e); - } - } - - }, 10000, 30000); - - } - }