Search in sources :

Example 6 with MainstemMonitor

use of com.alibaba.otter.shared.arbitrate.impl.setl.monitor.MainstemMonitor in project otter by alibaba.

the class MainStemMonitorTest method testRelease.

@Test
public void testRelease() {
    MainstemMonitor mainstemMonitor = ArbitrateFactory.getInstance(pipelineId, MainstemMonitor.class);
    boolean running = mainstemMonitor.check();
    want.bool(running).is(true);
    // 模拟一次断网,
    boolean release = mainstemMonitor.releaseMainstem();
    want.bool(release).is(true);
    long start = System.currentTimeMillis();
    try {
        mainstemMonitor.waitForActive();
    } catch (InterruptedException e) {
        want.fail();
    }
    want.number(System.currentTimeMillis() - start).isLe(1000L);
    ArbitrateFactory.destory(pipelineId);
    mainstemMonitor.releaseMainstem();
}
Also used : MainstemMonitor(com.alibaba.otter.shared.arbitrate.impl.setl.monitor.MainstemMonitor) Test(org.testng.annotations.Test) BaseEventTest(com.alibaba.otter.shared.arbitrate.BaseEventTest)

Aggregations

MainstemMonitor (com.alibaba.otter.shared.arbitrate.impl.setl.monitor.MainstemMonitor)6 BaseEventTest (com.alibaba.otter.shared.arbitrate.BaseEventTest)3 Test (org.testng.annotations.Test)3 PermitMonitor (com.alibaba.otter.shared.arbitrate.impl.setl.monitor.PermitMonitor)1 MainStemEventData (com.alibaba.otter.shared.arbitrate.model.MainStemEventData)1 ChannelStatus (com.alibaba.otter.shared.common.model.config.channel.ChannelStatus)1