cannal源码赏析 - connector模块
123456789101112131415private CanalMQProducer canalMQProducer = null;public synchronized void start() throws Throwable { String serverMode = CanalController.getProperty(properties, CanalCons...
123456789101112131415private CanalMQProducer canalMQProducer = null;public synchronized void start() throws Throwable { String serverMode = CanalController.getProperty(properties, CanalCons...
1. CanalMetaManager1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283/** * meta信息管理器 * *...
1. CanalEventFilter123456789/** * 数据过滤机制 * * @author jianghang 2012-7-20 下午03:51:27 */public interface CanalEventFilter<T> { boolean filter(T event) throws CanalFilterException;...
1. 简介这是canal的存储模块com.alibaba.otter.canal.store,能够将binlog解析后的event存储到内存中,由于内存有限,优先使用ITEMSIZE模式进行限制,其次使用MEMSIZE进行限制,MemoryEventStoreWithBuffer作为该模块的核心实现类,基于ReentrantLock提供阻塞的get、put方法。 数据存储在哪里?内存中 ...
1. CanalEventSink123456789101112131415161718192021222324252627282930/** * event事件消费者 * * <pre> * 1. 剥离filter/sink为独立的两个动作,方便在快速判断数据是否有效 * </pre> * * @author jianghang 2012-6-21 下午05:...
1. 核心类图 2. Generator2.1 ManagerCanalInstanceGenerator1234567891011121314151617public class ManagerCanalInstanceGenerator implements CanalInstanceGenerator { private CanalConfigClient canal...
依赖模块 1. CanalServerWithNetty1.1 源码123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858...
1. CanalLauncher1234567// 1. 读取配置文件properties// 2. 创建CanalStarterfinal CanalStarter canalStater = new CanalStarter(properties);// 3. 启动canalStater.start(); 2. CanalStarter重点看CanalStarter的start方法: ...
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011...