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());
}
});
}
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);
}
});
}
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();
}
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());
}
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);
}
Aggregations