blob: 23566dd9c26f4d62f8c7606cf2d210ed7f4318cb [file] [log] [blame]
William Kurkianbde6fc92018-07-13 17:19:58 -04001/*
William Kurkian1bedb412018-07-19 12:55:41 -04002* Copyright 2018- Cisco
3*
4* Licensed under the Apache License, Version 2.0 (the "License");
5* you may not use this file except in compliance with the License.
6* You may obtain a copy of the License at
7*
8* http://www.apache.org/licenses/LICENSE-2.0
9*
10* Unless required by applicable law or agreed to in writing, software
11* distributed under the License is distributed on an "AS IS" BASIS,
12* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13* See the License for the specific language governing permissions and
14* limitations under the License.
15*/
William Kurkianbde6fc92018-07-13 17:19:58 -040016package controller;
17
18import org.springframework.boot.SpringApplication;
19import org.springframework.boot.autoconfigure.SpringBootApplication;
20import org.springframework.web.bind.annotation.RequestMapping;
21import org.springframework.web.bind.annotation.RestController;
22import kafka.VolthaKafkaConsumer;
William Kurkian18ec3442018-09-10 16:27:37 -040023import kafka.KafkaConsumerType;
William Kurkianbde6fc92018-07-13 17:19:58 -040024
25import org.slf4j.Logger;
26import org.slf4j.LoggerFactory;
27
28import java.lang.InterruptedException;
29
30import config.Config;
31
32
33@SpringBootApplication
34@RestController
35public class Application {
36
37 @RequestMapping("/")
38 public String home() {
39 return "Hello Docker World";
40 }
41
42 public static void main(String[] args) {
43 Config.loadProperties("/opt/ves-agent/config.properties");
William Kurkian18ec3442018-09-10 16:27:37 -040044 KafkaAlarmsThread kafkaAlarms = new KafkaAlarmsThread();
45 kafkaAlarms.start();
46 KafkaKpisThread kafkaKpis = new KafkaKpisThread();
47 kafkaKpis.start();
48 //SpringApplication.run(Application.class, args);
William Kurkianbde6fc92018-07-13 17:19:58 -040049 }
50
51}
William Kurkian18ec3442018-09-10 16:27:37 -040052class KafkaAlarmsThread extends Thread {
William Kurkianbde6fc92018-07-13 17:19:58 -040053
William Kurkian18ec3442018-09-10 16:27:37 -040054 private final static Logger logger = LoggerFactory.getLogger("KafkaAlarmsThread");
William Kurkianbde6fc92018-07-13 17:19:58 -040055
56 public void run() {
William Kurkian18ec3442018-09-10 16:27:37 -040057 logger.debug("Start Kafka Alarms Consumer Thread");
William Kurkian1bedb412018-07-19 12:55:41 -040058 try {
William Kurkian18ec3442018-09-10 16:27:37 -040059 VolthaKafkaConsumer consumer = new VolthaKafkaConsumer(KafkaConsumerType.ALARMS);
William Kurkian1bedb412018-07-19 12:55:41 -040060 consumer.runConsumer();
William Kurkian18ec3442018-09-10 16:27:37 -040061 } catch (Exception e) {
62 logger.error("Error in Kafka Alarm thread", e);
63 }
64
65 }
66}
67class KafkaKpisThread extends Thread {
68
69 private final static Logger logger = LoggerFactory.getLogger("KafkaKpisThread");
70
71 public void run() {
72 logger.debug("Start Kafka KPIs Consumer Thread");
73 try {
74 VolthaKafkaConsumer consumer = new VolthaKafkaConsumer(KafkaConsumerType.KPIS);
75 consumer.runConsumer();
76 } catch (Exception e) {
77 logger.error("Error Kafka, KPI thread", e);
William Kurkian1bedb412018-07-19 12:55:41 -040078 }
William Kurkianbde6fc92018-07-13 17:19:58 -040079
80 }
William Kurkian1bedb412018-07-19 12:55:41 -040081}