| | |
| | |
|
| | | /**
|
| | | * 抽象的canal transponder ,实现SmartLifecycle接口,声明周期由spring进行管理
|
| | | *
|
| | | * @author wuqiong 2022/4/11
|
| | | */
|
| | | public abstract class AbstractCanalTransponderContainer implements SmartLifecycle {
|
| | |
| | | CanalEntry.EntryType.HEARTBEAT);
|
| | |
|
| | | protected abstract void doStart();
|
| | |
|
| | | protected abstract void initConnect();
|
| | |
|
| | | protected abstract void disconnect();
|
| | |
|
| | |
|
| | |
| | | sleep(5L * SLEEP_TIME_MILLI_SECONDS);
|
| | | initConnect();
|
| | | while (isRunning() && !Thread.currentThread().isInterrupted()) doStart();
|
| | | disconnect(); // 线程被终止或者容器已经停止
|
| | | disconnect(); // 线程被终止或者容器已经停止,需要关闭连接
|
| | | }).start();
|
| | | setRunning(true);
|
| | | }
|
| | |
| | | return isRunning;
|
| | | }
|
| | |
|
| | | protected void setRunning(boolean bool){
|
| | | protected void setRunning(boolean bool) {
|
| | | isRunning = bool;
|
| | | }
|
| | |
|