1 package ai.suanzi.rtmpclient;
3 import org.apache.log4j.Logger;
4 public class ServiceHealthMonitor extends Thread {
5 private long count = 0;
6 private long lastCnt = 0;
7 private int interval = 60; // seconds
9 private Callback mCallback;
11 public ServiceHealthMonitor(Callback cb){
15 private Logger gLogger = Logger.getLogger("ServiceHealthMonitor");
20 sleep(interval * 1000);
21 }catch (InterruptedException e){
22 gLogger.error("sleep - error: " + e.getMessage());
25 if(mCallback != null) mCallback.onNotHealthy();
29 public synchronized void record(){
30 gLogger.error("record " + count);
34 public synchronized void setInterval (int time) {
38 private synchronized boolean isHealth (){
39 if(count == lastCnt) {
40 gLogger.error("isHealth - count = " + count + ". lastCnt " + lastCnt);
47 public interface Callback {