Search in sources :

Example 6 with ITopic

use of com.hazelcast.topic.ITopic in project hazelcast by hazelcast.

the class ClientReliableTopicTest method removeMessageListener_whenAlreadyRemoved.

@Test
public void removeMessageListener_whenAlreadyRemoved() {
    ITopic topic = client.getReliableTopic(randomString());
    final ReliableMessageListenerMock listener = new ReliableMessageListenerMock();
    UUID id = topic.addMessageListener(listener);
    topic.removeMessageListener(id);
    boolean result = topic.removeMessageListener(id);
    assertFalse(result);
    topic.publish("1");
    // it should not receive any events.
    assertTrueDelayed5sec(new AssertTask() {

        @Override
        public void run() throws Exception {
            assertEquals(0, listener.objects.size());
        }
    });
}
Also used : ITopic(com.hazelcast.topic.ITopic) ReliableMessageListenerMock(com.hazelcast.topic.impl.reliable.ReliableMessageListenerMock) AssertTask(com.hazelcast.test.AssertTask) UUID(java.util.UUID) ParallelJVMTest(com.hazelcast.test.annotation.ParallelJVMTest) QuickTest(com.hazelcast.test.annotation.QuickTest) DurableSubscriptionTest(com.hazelcast.topic.impl.reliable.DurableSubscriptionTest) Test(org.junit.Test)

Example 7 with ITopic

use of com.hazelcast.topic.ITopic in project hazelcast by hazelcast.

the class ClientReliableTopicTest method publishSingle.

// ============================================
@Test
public void publishSingle() throws InterruptedException {
    ITopic topic = client.getReliableTopic(randomString());
    final ReliableMessageListenerMock listener = new ReliableMessageListenerMock();
    topic.addMessageListener(listener);
    final String msg = "foobar";
    topic.publish(msg);
    assertTrueEventually(new AssertTask() {

        @Override
        public void run() throws Exception {
            assertContains(listener.objects, msg);
        }
    });
}
Also used : ITopic(com.hazelcast.topic.ITopic) ReliableMessageListenerMock(com.hazelcast.topic.impl.reliable.ReliableMessageListenerMock) AssertTask(com.hazelcast.test.AssertTask) ParallelJVMTest(com.hazelcast.test.annotation.ParallelJVMTest) QuickTest(com.hazelcast.test.annotation.QuickTest) DurableSubscriptionTest(com.hazelcast.topic.impl.reliable.DurableSubscriptionTest) Test(org.junit.Test)

Example 8 with ITopic

use of com.hazelcast.topic.ITopic in project hazelcast by hazelcast.

the class ClientTopicTest method testGetLocalTopicStats.

@Test(expected = UnsupportedOperationException.class)
public void testGetLocalTopicStats() throws Exception {
    ITopic topic = client.getTopic(randomString());
    topic.getLocalTopicStats();
}
Also used : ITopic(com.hazelcast.topic.ITopic) ParallelJVMTest(com.hazelcast.test.annotation.ParallelJVMTest) QuickTest(com.hazelcast.test.annotation.QuickTest) Test(org.junit.Test)

Example 9 with ITopic

use of com.hazelcast.topic.ITopic in project hazelcast by hazelcast.

the class ClientRegressionWithMockNetworkTest method testServerShouldNotCloseClientWhenClientOnlyListening.

@Test
@Category(SlowTest.class)
public void testServerShouldNotCloseClientWhenClientOnlyListening() {
    Config config = new Config();
    int clientHeartbeatSeconds = 8;
    config.setProperty(ClusterProperty.CLIENT_HEARTBEAT_TIMEOUT_SECONDS.getName(), String.valueOf(clientHeartbeatSeconds));
    hazelcastFactory.newHazelcastInstance(config);
    ClientConfig clientConfig = new ClientConfig();
    clientConfig.setProperty(ClientProperty.HEARTBEAT_INTERVAL.getName(), "1000");
    HazelcastInstance client = hazelcastFactory.newHazelcastClient(clientConfig);
    HazelcastInstance client2 = hazelcastFactory.newHazelcastClient();
    AtomicBoolean isClientDisconnected = new AtomicBoolean();
    client.getLifecycleService().addLifecycleListener(event -> {
        if (CLIENT_DISCONNECTED.equals(event.getState())) {
            isClientDisconnected.set(true);
        }
    });
    String key = "topicName";
    ITopic<Object> topic = client.getTopic(key);
    MessageListener<Object> listener = message -> {
    };
    UUID id = topic.addMessageListener(listener);
    ITopic<Object> client2Topic = client2.getTopic(key);
    long begin = System.currentTimeMillis();
    while (System.currentTimeMillis() - begin < TimeUnit.SECONDS.toMillis(clientHeartbeatSeconds * 2)) {
        client2Topic.publish("message");
    }
    topic.removeMessageListener(id);
    assertFalse(isClientDisconnected.get());
}
Also used : ParallelJVMTest(com.hazelcast.test.annotation.ParallelJVMTest) LifecycleListener(com.hazelcast.core.LifecycleListener) QuickTest(com.hazelcast.test.annotation.QuickTest) PortableWriter(com.hazelcast.nio.serialization.PortableWriter) SerializationConfig(com.hazelcast.config.SerializationConfig) MapListener(com.hazelcast.map.listener.MapListener) Future(java.util.concurrent.Future) After(org.junit.After) DataSerializable(com.hazelcast.nio.serialization.DataSerializable) Assert.fail(org.junit.Assert.fail) ObjectDataInput(com.hazelcast.nio.ObjectDataInput) ClientSecurityConfig(com.hazelcast.client.config.ClientSecurityConfig) EntryEvent(com.hazelcast.core.EntryEvent) Logger(com.hazelcast.logging.Logger) LifecycleEvent(com.hazelcast.core.LifecycleEvent) HazelcastTestSupport(com.hazelcast.test.HazelcastTestSupport) Collection(java.util.Collection) CLIENT_CONNECTED(com.hazelcast.core.LifecycleEvent.LifecycleState.CLIENT_CONNECTED) ENTRY_COUNT(com.hazelcast.config.MaxSizePolicy.ENTRY_COUNT) UUID(java.util.UUID) Category(org.junit.experimental.categories.Category) ClusterProperty(com.hazelcast.spi.properties.ClusterProperty) CountDownLatch(java.util.concurrent.CountDownLatch) NearCacheConfig(com.hazelcast.config.NearCacheConfig) MessageListener(com.hazelcast.topic.MessageListener) Assert.assertFalse(org.junit.Assert.assertFalse) HazelcastParallelClassRunner(com.hazelcast.test.HazelcastParallelClassRunner) ObjectDataOutput(com.hazelcast.nio.ObjectDataOutput) Mockito.mock(org.mockito.Mockito.mock) RunWith(org.junit.runner.RunWith) ClientExecutionServiceImpl(com.hazelcast.client.impl.spi.impl.ClientExecutionServiceImpl) AtomicBoolean(java.util.concurrent.atomic.AtomicBoolean) Portable(com.hazelcast.nio.serialization.Portable) Callable(java.util.concurrent.Callable) AtomicReference(java.util.concurrent.atomic.AtomicReference) ListenerConfig(com.hazelcast.config.ListenerConfig) ClientProperty(com.hazelcast.client.properties.ClientProperty) ConnectionRetryConfig(com.hazelcast.client.config.ConnectionRetryConfig) EvictionConfig(com.hazelcast.config.EvictionConfig) ClientConfig(com.hazelcast.client.config.ClientConfig) TestHazelcastFactory(com.hazelcast.client.test.TestHazelcastFactory) ITopic(com.hazelcast.topic.ITopic) UsernamePasswordCredentials(com.hazelcast.security.UsernamePasswordCredentials) LinkedList(java.util.LinkedList) ExpectedException(org.junit.rules.ExpectedException) Config(com.hazelcast.config.Config) HazelcastInstance(com.hazelcast.core.HazelcastInstance) MapInterceptor(com.hazelcast.map.MapInterceptor) Assert.assertNotNull(org.junit.Assert.assertNotNull) Assert.assertTrue(org.junit.Assert.assertTrue) Test(org.junit.Test) IOException(java.io.IOException) SlowTest(com.hazelcast.test.annotation.SlowTest) Assert.assertNotEquals(org.junit.Assert.assertNotEquals) ExecutionException(java.util.concurrent.ExecutionException) TimeUnit(java.util.concurrent.TimeUnit) DistributedObject(com.hazelcast.core.DistributedObject) Rule(org.junit.Rule) LifecycleState(com.hazelcast.core.LifecycleEvent.LifecycleState) Assert.assertNull(org.junit.Assert.assertNull) IExecutorService(com.hazelcast.core.IExecutorService) PortableReader(com.hazelcast.nio.serialization.PortableReader) CLIENT_DISCONNECTED(com.hazelcast.core.LifecycleEvent.LifecycleState.CLIENT_DISCONNECTED) EntryAdapter(com.hazelcast.core.EntryAdapter) Assert.assertEquals(org.junit.Assert.assertEquals) IMap(com.hazelcast.map.IMap) AtomicBoolean(java.util.concurrent.atomic.AtomicBoolean) HazelcastInstance(com.hazelcast.core.HazelcastInstance) SerializationConfig(com.hazelcast.config.SerializationConfig) ClientSecurityConfig(com.hazelcast.client.config.ClientSecurityConfig) NearCacheConfig(com.hazelcast.config.NearCacheConfig) ListenerConfig(com.hazelcast.config.ListenerConfig) ConnectionRetryConfig(com.hazelcast.client.config.ConnectionRetryConfig) EvictionConfig(com.hazelcast.config.EvictionConfig) ClientConfig(com.hazelcast.client.config.ClientConfig) Config(com.hazelcast.config.Config) DistributedObject(com.hazelcast.core.DistributedObject) ClientConfig(com.hazelcast.client.config.ClientConfig) UUID(java.util.UUID) Category(org.junit.experimental.categories.Category) ParallelJVMTest(com.hazelcast.test.annotation.ParallelJVMTest) QuickTest(com.hazelcast.test.annotation.QuickTest) Test(org.junit.Test) SlowTest(com.hazelcast.test.annotation.SlowTest)

Example 10 with ITopic

use of com.hazelcast.topic.ITopic 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.
    MessageRunner runner = (MessageRunner) 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.topic.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) ParallelJVMTest(com.hazelcast.test.annotation.ParallelJVMTest) QuickTest(com.hazelcast.test.annotation.QuickTest) Test(org.junit.Test)

Aggregations

ITopic (com.hazelcast.topic.ITopic)20 ParallelJVMTest (com.hazelcast.test.annotation.ParallelJVMTest)19 QuickTest (com.hazelcast.test.annotation.QuickTest)19 Test (org.junit.Test)19 DurableSubscriptionTest (com.hazelcast.topic.impl.reliable.DurableSubscriptionTest)12 UUID (java.util.UUID)8 ReliableMessageListenerMock (com.hazelcast.topic.impl.reliable.ReliableMessageListenerMock)7 AssertTask (com.hazelcast.test.AssertTask)6 Message (com.hazelcast.topic.Message)6 Config (com.hazelcast.config.Config)5 HazelcastInstance (com.hazelcast.core.HazelcastInstance)5 MessageListener (com.hazelcast.topic.MessageListener)5 ClientConfig (com.hazelcast.client.config.ClientConfig)3 ClientProperty (com.hazelcast.client.properties.ClientProperty)3 TestHazelcastFactory (com.hazelcast.client.test.TestHazelcastFactory)3 ListenerConfig (com.hazelcast.config.ListenerConfig)3 CountDownLatch (java.util.concurrent.CountDownLatch)3 ClientReliableTopicProxy (com.hazelcast.client.impl.proxy.ClientReliableTopicProxy)2 ReliableTopicConfig (com.hazelcast.config.ReliableTopicConfig)2 RingbufferConfig (com.hazelcast.config.RingbufferConfig)2