Update ves-agent dependency
[vfc/nfvo/driver/ems.git] / ems / boco / src / main / java / org / onap / vfc / nfvo / emsdriver / collector / alarm / HeartBeat.java
1 /*
2  * Copyright 2017 BOCO Corporation.  CMCC Technologies Co., Ltd
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  */
16 package org.onap.vfc.nfvo.emsdriver.collector.alarm;
17
18 import org.slf4j.Logger;
19 import org.slf4j.LoggerFactory;
20 import org.onap.vfc.nfvo.emsdriver.commons.constant.Constant;
21
22 import java.io.BufferedOutputStream;
23 import java.net.Socket;
24
25 public class HeartBeat extends Thread {
26     private static final Logger log = LoggerFactory.getLogger(HeartBeat.class);
27     private BufferedOutputStream out = null;
28     private Socket socket = null;
29     private Msg heartStr;
30     private boolean stop = false;
31
32     public HeartBeat(Socket socket, Msg heatMessage) {
33         this.socket = socket;
34         this.heartStr = heatMessage;
35     }
36
37     public boolean isStop() {
38         return this.stop;
39     }
40
41     public void setStop(boolean stop) {
42         this.stop = stop;
43     }
44
45     @Override
46     public void run() {
47         log.info("HeartBeat start heartStr:" + heartStr.toString(false));
48         this.stop = false;
49         try {
50             while (!this.isStop()) {
51                 out = new BufferedOutputStream(socket.getOutputStream());
52                 MessageUtil.writeMsg(heartStr, out);
53                 log.info("send HeartBeat heartStr:" + heartStr.toString(false));
54                 Thread.sleep(Constant.ONEMINUTE);
55             }
56         } catch (Exception e) {
57             log.error("send HeartBeat fail ", e);
58         }
59         log.info("HeartBeat thread stop");
60     }
61
62
63 }