blob: 380d716729efd7cd472024e029bde5a7fd49d908 [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();
William Kurkian9600b5c2018-09-20 16:05:59 -040048 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);
William Kurkian19d699e2018-09-19 13:45:49 -040063 logger.error(e.toString());
William Kurkian18ec3442018-09-10 16:27:37 -040064 }
65
66 }
67}
68class KafkaKpisThread extends Thread {
69
70 private final static Logger logger = LoggerFactory.getLogger("KafkaKpisThread");
71
72 public void run() {
73 logger.debug("Start Kafka KPIs Consumer Thread");
74 try {
75 VolthaKafkaConsumer consumer = new VolthaKafkaConsumer(KafkaConsumerType.KPIS);
76 consumer.runConsumer();
77 } catch (Exception e) {
William Kurkian19d699e2018-09-19 13:45:49 -040078 logger.error("Error in Kafka KPI thread", e);
79 logger.error(e.toString());
William Kurkian1bedb412018-07-19 12:55:41 -040080 }
William Kurkianbde6fc92018-07-13 17:19:58 -040081
82 }
William Kurkian1bedb412018-07-19 12:55:41 -040083}