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=2f440b6b4cd342501b2b9ce7d561a4f407abe114;hb=82d2318187ea739a0b14442cbd82a3a7f6a419a7;hp=ed9b9af3f6926dd2d32186be31f33b9b484c0faf;hpb=adf983c3fa5c0be8fe05d349190b149da1effb2e;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 ed9b9af..2f440b6 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,12 +1,12 @@ /** * Copyright 2017 ZTE Corporation. - * + *

* Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * + *

+ * http://www.apache.org/licenses/LICENSE-2.0 + *

* Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -16,63 +16,71 @@ package org.onap.holmes.rulemgt.msb; import lombok.extern.slf4j.Slf4j; -import org.jvnet.hk2.annotations.Service; +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 javax.annotation.PostConstruct; -import javax.inject.Inject; import java.util.List; import java.util.Timer; import java.util.TimerTask; -@Service @Slf4j public class MsbQuery { - @Inject private RuleAllocation ruleAllocation; - @Inject private Ip4AddingRule ip4AddingRule; - @Inject private EngineIpList engineIpList; - @Inject private RuleMgtWrapper ruleMgtWrapper; - private List timerIpList; + private List timerIpList; - @PostConstruct - public void init() { + public MsbQuery() { + ruleAllocation = new RuleAllocation(); - try{ + ServiceLocator locator = ServiceLocatorHolder.getLocator(); + ip4AddingRule = locator.getService(Ip4AddingRule.class); + engineIpList = locator.getService(EngineIpList.class); + ruleMgtWrapper = locator.getService(RuleMgtWrapper.class); + } + + public void startTimer() { + try { timer(); - }catch(Exception e){ - log.error("MSBQuery init timer task failed !" + e.getMessage()); + } catch (Exception e) { + log.error("MSBQuery startTimer timer task failed !" + e.getMessage(), e); + try { + Thread.sleep(30000); + } catch (InterruptedException e1) { + Thread.currentThread().interrupt(); + } } + } - public void timer() throws Exception{ + public void timer() throws Exception { Timer timer = new Timer(); timer.schedule(new TimerTask() { public void run() { try { timerIpList = engineIpList.getServiceCount(); - ip4AddingRule.getIpList(timerIpList); - ruleAllocation.judgeAndAllocateRule(timerIpList); + 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); + log.error("The timing query engine instance failed ", e); } } - }, 5000, 30000); + }, 10000, 30000); }