Search in sources :

Example 11 with QuorumListener

use of com.hazelcast.quorum.QuorumListener in project hazelcast by hazelcast.

the class QuorumListenerTest method testQuorumEventsFiredWhenNodeCountBelowThenAboveThreshold.

@Test
public void testQuorumEventsFiredWhenNodeCountBelowThenAboveThreshold() {
    final CountDownLatch belowLatch = new CountDownLatch(1);
    final CountDownLatch aboveLatch = new CountDownLatch(1);
    Config config = new Config();
    QuorumListenerConfig listenerConfig = new QuorumListenerConfig();
    listenerConfig.setImplementation(new QuorumListener() {

        public void onChange(QuorumEvent quorumEvent) {
            if (quorumEvent.isPresent()) {
                aboveLatch.countDown();
            } else {
                belowLatch.countDown();
            }
        }
    });
    String mapName = randomMapName();
    String quorumName = randomString();
    QuorumConfig quorumConfig = new QuorumConfig(quorumName, true, 3);
    quorumConfig.addListenerConfig(listenerConfig);
    config.getMapConfig(mapName).setQuorumName(quorumName);
    config.addQuorumConfig(quorumConfig);
    TestHazelcastInstanceFactory factory = createHazelcastInstanceFactory(3);
    factory.newHazelcastInstance(config);
    factory.newHazelcastInstance(config);
    assertOpenEventually(belowLatch, 15);
    factory.newHazelcastInstance(config);
    assertOpenEventually(aboveLatch);
}
Also used : QuorumConfig(com.hazelcast.config.QuorumConfig) QuorumListenerConfig(com.hazelcast.config.QuorumListenerConfig) Config(com.hazelcast.config.Config) QuorumListenerConfig(com.hazelcast.config.QuorumListenerConfig) MapConfig(com.hazelcast.config.MapConfig) QuorumConfig(com.hazelcast.config.QuorumConfig) QuorumEvent(com.hazelcast.quorum.QuorumEvent) QuorumListener(com.hazelcast.quorum.QuorumListener) CountDownLatch(java.util.concurrent.CountDownLatch) TestHazelcastInstanceFactory(com.hazelcast.test.TestHazelcastInstanceFactory) QuickTest(com.hazelcast.test.annotation.QuickTest) Test(org.junit.Test) ParallelTest(com.hazelcast.test.annotation.ParallelTest)

Aggregations

Config (com.hazelcast.config.Config)11 QuorumConfig (com.hazelcast.config.QuorumConfig)11 QuorumListenerConfig (com.hazelcast.config.QuorumListenerConfig)11 QuorumEvent (com.hazelcast.quorum.QuorumEvent)11 QuorumListener (com.hazelcast.quorum.QuorumListener)11 ParallelTest (com.hazelcast.test.annotation.ParallelTest)11 QuickTest (com.hazelcast.test.annotation.QuickTest)11 CountDownLatch (java.util.concurrent.CountDownLatch)11 Test (org.junit.Test)11 TestHazelcastInstanceFactory (com.hazelcast.test.TestHazelcastInstanceFactory)8 HazelcastInstance (com.hazelcast.core.HazelcastInstance)7 MapConfig (com.hazelcast.config.MapConfig)6 HazelcastServerCachingProvider (com.hazelcast.cache.impl.HazelcastServerCachingProvider)5 CacheSimpleConfig (com.hazelcast.config.CacheSimpleConfig)5 QuorumException (com.hazelcast.quorum.QuorumException)5 Member (com.hazelcast.core.Member)2 QuorumFunction (com.hazelcast.quorum.QuorumFunction)2 Collection (java.util.Collection)2