Search in sources :

Example 1 with MixedMetaManager

use of com.alibaba.otter.canal.meta.MixedMetaManager in project canal by alibaba.

the class MetaLogPositionManagerTest method testAll.

@Test
public void testAll() {
    MixedMetaManager metaManager = new MixedMetaManager();
    ZooKeeperMetaManager zooKeeperMetaManager = new ZooKeeperMetaManager();
    zooKeeperMetaManager.setZkClientx(zkclientx);
    metaManager.setZooKeeperMetaManager(zooKeeperMetaManager);
    metaManager.start();
    MetaLogPositionManager logPositionManager = new MetaLogPositionManager();
    logPositionManager.setMetaManager(metaManager);
    logPositionManager.start();
    // 构建meta信息
    ClientIdentity client1 = new ClientIdentity(destination, (short) 1);
    metaManager.subscribe(client1);
    PositionRange range1 = buildRange(1);
    metaManager.updateCursor(client1, range1.getEnd());
    PositionRange range2 = buildRange(2);
    metaManager.updateCursor(client1, range2.getEnd());
    ClientIdentity client2 = new ClientIdentity(destination, (short) 2);
    metaManager.subscribe(client2);
    PositionRange range3 = buildRange(3);
    metaManager.updateCursor(client2, range3.getEnd());
    PositionRange range4 = buildRange(4);
    metaManager.updateCursor(client2, range4.getEnd());
    LogPosition logPosition = logPositionManager.getLatestIndexBy(destination);
    Assert.assertEquals(range2.getEnd(), logPosition);
    metaManager.stop();
    logPositionManager.stop();
}
Also used : ClientIdentity(com.alibaba.otter.canal.protocol.ClientIdentity) PositionRange(com.alibaba.otter.canal.protocol.position.PositionRange) MixedMetaManager(com.alibaba.otter.canal.meta.MixedMetaManager) ZooKeeperMetaManager(com.alibaba.otter.canal.meta.ZooKeeperMetaManager) LogPosition(com.alibaba.otter.canal.protocol.position.LogPosition) Test(org.junit.Test)

Aggregations

MixedMetaManager (com.alibaba.otter.canal.meta.MixedMetaManager)1 ZooKeeperMetaManager (com.alibaba.otter.canal.meta.ZooKeeperMetaManager)1 ClientIdentity (com.alibaba.otter.canal.protocol.ClientIdentity)1 LogPosition (com.alibaba.otter.canal.protocol.position.LogPosition)1 PositionRange (com.alibaba.otter.canal.protocol.position.PositionRange)1 Test (org.junit.Test)1