diff options
Diffstat (limited to 'rulemgt/src/main/java/org/onap/holmes/rulemgt/msb/MsbQuery.java')
-rw-r--r-- | rulemgt/src/main/java/org/onap/holmes/rulemgt/msb/MsbQuery.java | 54 |
1 files changed, 31 insertions, 23 deletions
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. - * + * <p> * 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 - * + * <p> + * http://www.apache.org/licenses/LICENSE-2.0 + * <p> * 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<String> timerIpList; + private List<String> 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); } |