Search in sources :

Example 16 with ListenerConfig

use of com.hazelcast.config.ListenerConfig in project hazelcast by hazelcast.

the class MigrationCommitTest method shouldRollbackMigrationWhenDestinationCrashesDuringCommit.

@Test
public void shouldRollbackMigrationWhenDestinationCrashesDuringCommit() {
    CountDownLatch migrationStartLatch = new CountDownLatch(1);
    Config config1 = createConfig();
    config1.setLiteMember(true);
    DelayMigrationStartOnMaster masterListener = new DelayMigrationStartOnMaster(migrationStartLatch);
    config1.addListenerConfig(new ListenerConfig(masterListener));
    HazelcastInstance hz1 = factory.newHazelcastInstance(config1);
    HazelcastInstance hz2 = factory.newHazelcastInstance(createConfig());
    warmUpPartitions(hz1, hz2);
    waitAllForSafeState(hz1, hz2);
    CountDownLatch terminationLatch = new CountDownLatch(1);
    TerminateOnMigrationCommit memberListener = new TerminateOnMigrationCommit(terminationLatch);
    Config config3 = createConfig();
    config3.addListenerConfig(new ListenerConfig(memberListener));
    HazelcastInstance hz3 = factory.newHazelcastInstance(config3);
    warmUpPartitions(hz1, hz2, hz3);
    migrationStartLatch.countDown();
    waitAllForSafeState(hz1, hz2);
    InternalPartition partition0 = getPartitionService(hz1).getPartition(0);
    InternalPartition partition1 = getPartitionService(hz1).getPartition(1);
    assertEquals(getAddress(hz2), partition0.getOwnerOrNull());
    assertEquals(getAddress(hz2), partition1.getOwnerOrNull());
    assertFalse(partition0.isMigrating());
    assertFalse(partition1.isMigrating());
    assertTrue(masterListener.rollback.get());
    terminationLatch.countDown();
}
Also used : ListenerConfig(com.hazelcast.config.ListenerConfig) HazelcastInstance(com.hazelcast.core.HazelcastInstance) ListenerConfig(com.hazelcast.config.ListenerConfig) Config(com.hazelcast.config.Config) InternalPartition(com.hazelcast.internal.partition.InternalPartition) CountDownLatch(java.util.concurrent.CountDownLatch) QuickTest(com.hazelcast.test.annotation.QuickTest) Test(org.junit.Test) ParallelTest(com.hazelcast.test.annotation.ParallelTest)

Example 17 with ListenerConfig

use of com.hazelcast.config.ListenerConfig in project hazelcast by hazelcast.

the class MigrationCommitTest method shouldRollbackMigrationWhenDestinationCrashesBeforeCommit.

@Test
public void shouldRollbackMigrationWhenDestinationCrashesBeforeCommit() {
    CountDownLatch migrationStartLatch = new CountDownLatch(1);
    Config config1 = createConfig();
    config1.setLiteMember(true);
    TerminateOtherMemberOnMigrationComplete masterListener = new TerminateOtherMemberOnMigrationComplete(migrationStartLatch);
    config1.addListenerConfig(new ListenerConfig(masterListener));
    HazelcastInstance hz1 = factory.newHazelcastInstance(config1);
    HazelcastInstance hz2 = factory.newHazelcastInstance(createConfig());
    warmUpPartitions(hz1, hz2);
    waitAllForSafeState(hz1, hz2);
    masterListener.other = factory.newHazelcastInstance(createConfig());
    migrationStartLatch.countDown();
    sleepAtLeastSeconds(10);
    waitAllForSafeState(hz1, hz2);
    InternalPartition partition0 = getPartitionService(hz2).getPartition(0);
    InternalPartition partition1 = getPartitionService(hz2).getPartition(1);
    assertEquals(getAddress(hz2), partition0.getOwnerOrNull());
    assertEquals(getAddress(hz2), partition1.getOwnerOrNull());
    assertFalse(partition0.isMigrating());
    assertFalse(partition1.isMigrating());
    assertTrue(masterListener.rollback);
}
Also used : ListenerConfig(com.hazelcast.config.ListenerConfig) HazelcastInstance(com.hazelcast.core.HazelcastInstance) ListenerConfig(com.hazelcast.config.ListenerConfig) Config(com.hazelcast.config.Config) InternalPartition(com.hazelcast.internal.partition.InternalPartition) CountDownLatch(java.util.concurrent.CountDownLatch) QuickTest(com.hazelcast.test.annotation.QuickTest) Test(org.junit.Test) ParallelTest(com.hazelcast.test.annotation.ParallelTest)

Example 18 with ListenerConfig

use of com.hazelcast.config.ListenerConfig in project hazelcast by hazelcast.

the class ReliableTopicCreateTest method testConfiguredListenerClassNotMessageListener.

@Test(expected = HazelcastException.class)
public void testConfiguredListenerClassNotMessageListener() {
    Config config = new Config();
    config.addReliableTopicConfig(new ReliableTopicConfig("foo*").addMessageListenerConfig(new ListenerConfig(String.class.getName())));
    HazelcastInstance hz = createHazelcastInstance(config);
    hz.getReliableTopic("foo");
    fail();
}
Also used : ListenerConfig(com.hazelcast.config.ListenerConfig) HazelcastInstance(com.hazelcast.core.HazelcastInstance) ReliableTopicConfig(com.hazelcast.config.ReliableTopicConfig) ReliableTopicConfig(com.hazelcast.config.ReliableTopicConfig) ListenerConfig(com.hazelcast.config.ListenerConfig) RingbufferConfig(com.hazelcast.config.RingbufferConfig) Config(com.hazelcast.config.Config) QuickTest(com.hazelcast.test.annotation.QuickTest) Test(org.junit.Test) ParallelTest(com.hazelcast.test.annotation.ParallelTest)

Example 19 with ListenerConfig

use of com.hazelcast.config.ListenerConfig in project hazelcast by hazelcast.

the class ReliableTopicCreateTest method testConfiguredListenerInstanceHazelcastInstanceAware.

@Test
public void testConfiguredListenerInstanceHazelcastInstanceAware() {
    final InstanceAwareReliableMessageListenerMock messageListener = new InstanceAwareReliableMessageListenerMock();
    Config config = new Config();
    config.addReliableTopicConfig(new ReliableTopicConfig("foo*").addMessageListenerConfig(new ListenerConfig(messageListener)));
    HazelcastInstance hz = createHazelcastInstance(config);
    ITopic<String> topic = hz.getReliableTopic("foo");
    ReliableTopicProxy proxy = assertInstanceOf(ReliableTopicProxy.class, topic);
    assertEquals(1, proxy.runnersMap.size());
    assertNotNull(messageListener.hz);
    topic.publish("item");
    assertTrueEventually(new AssertTask() {

        @Override
        public void run() throws Exception {
            assertContains(messageListener.objects, "item");
        }
    });
}
Also used : ListenerConfig(com.hazelcast.config.ListenerConfig) HazelcastInstance(com.hazelcast.core.HazelcastInstance) ReliableTopicConfig(com.hazelcast.config.ReliableTopicConfig) ReliableTopicConfig(com.hazelcast.config.ReliableTopicConfig) ListenerConfig(com.hazelcast.config.ListenerConfig) RingbufferConfig(com.hazelcast.config.RingbufferConfig) Config(com.hazelcast.config.Config) AssertTask(com.hazelcast.test.AssertTask) HazelcastException(com.hazelcast.core.HazelcastException) QuickTest(com.hazelcast.test.annotation.QuickTest) Test(org.junit.Test) ParallelTest(com.hazelcast.test.annotation.ParallelTest)

Example 20 with ListenerConfig

use of com.hazelcast.config.ListenerConfig in project hazelcast by hazelcast.

the class ReliableTopicCreateTest method testConfiguredListenerClass.

@Test
public void testConfiguredListenerClass() {
    Config config = new Config();
    config.addReliableTopicConfig(new ReliableTopicConfig("foo*").addMessageListenerConfig(new ListenerConfig(ReliableMessageListenerMock.class.getName())));
    HazelcastInstance hz = createHazelcastInstance(config);
    ITopic topic = hz.getReliableTopic("foo");
    ReliableTopicProxy proxy = assertInstanceOf(ReliableTopicProxy.class, topic);
    // check there is one listener.
    assertEquals(1, proxy.runnersMap.size());
    // check that the listener is of the right class.
    ReliableMessageListenerRunner runner = (ReliableMessageListenerRunner) proxy.runnersMap.values().iterator().next();
    assertInstanceOf(ReliableMessageListenerMock.class, runner.listener);
}
Also used : ListenerConfig(com.hazelcast.config.ListenerConfig) HazelcastInstance(com.hazelcast.core.HazelcastInstance) ITopic(com.hazelcast.core.ITopic) ReliableTopicConfig(com.hazelcast.config.ReliableTopicConfig) ReliableTopicConfig(com.hazelcast.config.ReliableTopicConfig) ListenerConfig(com.hazelcast.config.ListenerConfig) RingbufferConfig(com.hazelcast.config.RingbufferConfig) Config(com.hazelcast.config.Config) QuickTest(com.hazelcast.test.annotation.QuickTest) Test(org.junit.Test) ParallelTest(com.hazelcast.test.annotation.ParallelTest)

Aggregations

ListenerConfig (com.hazelcast.config.ListenerConfig)46 Test (org.junit.Test)43 QuickTest (com.hazelcast.test.annotation.QuickTest)40 Config (com.hazelcast.config.Config)30 HazelcastInstance (com.hazelcast.core.HazelcastInstance)30 ParallelTest (com.hazelcast.test.annotation.ParallelTest)29 CountDownLatch (java.util.concurrent.CountDownLatch)22 AssertTask (com.hazelcast.test.AssertTask)11 ClientConfig (com.hazelcast.client.config.ClientConfig)10 NightlyTest (com.hazelcast.test.annotation.NightlyTest)9 ReliableTopicConfig (com.hazelcast.config.ReliableTopicConfig)8 TestHazelcastInstanceFactory (com.hazelcast.test.TestHazelcastInstanceFactory)7 RingbufferConfig (com.hazelcast.config.RingbufferConfig)6 LifecycleListener (com.hazelcast.core.LifecycleListener)6 EntryListenerConfig (com.hazelcast.config.EntryListenerConfig)5 LifecycleEvent (com.hazelcast.core.LifecycleEvent)5 ItemListenerConfig (com.hazelcast.config.ItemListenerConfig)4 MapPartitionLostListenerConfig (com.hazelcast.config.MapPartitionLostListenerConfig)4 ClientListener (com.hazelcast.core.ClientListener)4 InternalPartition (com.hazelcast.internal.partition.InternalPartition)4