duxinglangzi
2022-05-16 7cf9781edf66c75570af378a96b4011ff63ada92
src/main/java/com/duxinglangzi/canal/starter/container/AbstractCanalTransponderContainer.java
@@ -10,6 +10,7 @@
/**
 * 抽象的canal transponder ,实现SmartLifecycle接口,声明周期由spring进行管理
 *
 * @author wuqiong 2022/4/11
 */
public abstract class AbstractCanalTransponderContainer implements SmartLifecycle {
@@ -21,7 +22,10 @@
                    CanalEntry.EntryType.HEARTBEAT);
    protected abstract void doStart();
    protected abstract void initConnect();
    protected abstract void disconnect();
    @Override
@@ -32,6 +36,7 @@
                sleep(5L * SLEEP_TIME_MILLI_SECONDS);
            initConnect();
            while (isRunning() && !Thread.currentThread().isInterrupted()) doStart();
            disconnect(); // 线程被终止或者容器已经停止
        }).start();
        setRunning(true);
    }
@@ -45,6 +50,7 @@
    public void stop(Runnable callback) {
        callback.run();
        setRunning(false);
        sleep(SLEEP_TIME_MILLI_SECONDS);
    }
    @Override
@@ -52,7 +58,7 @@
        return isRunning;
    }
    protected void setRunning(boolean bool){
    protected void setRunning(boolean bool) {
        isRunning = bool;
    }