use of org.infinispan.client.hotrod.event.EventLogListener.StaticFilteredEventLogListener in project infinispan by infinispan.
the class ClientClusterExpirationEventsTest method testFilteringInCluster.
public void testFilteringInCluster() {
// Generate key and add static filter in all servers
final Integer key0 = HotRodClientTestingUtil.getIntKeyForServer(server(0));
final Integer key1 = HotRodClientTestingUtil.getIntKeyForServer(server(1));
for (HotRodServer server : servers) server.addCacheEventFilterFactory("static-filter-factory", new StaticCacheEventFilterFactory(key1));
// We listen to all events, otherwise events that are filtered out could leak between tests
final EventLogListener<Integer> allEvents = new EventLogListener<>(client(0).getCache());
withClientListener(allEvents, r1 -> {
final StaticFilteredEventLogListener<Integer> l = new StaticFilteredEventLogListener<>(r1);
withClientListener(l, remote -> {
allEvents.expectNoEvents();
l.expectNoEvents();
remote.put(key0, "one", 10, TimeUnit.MINUTES);
allEvents.expectOnlyCreatedEvent(key0);
l.expectNoEvents();
remote.put(key1, "two", 10, TimeUnit.MINUTES);
allEvents.expectOnlyCreatedEvent(key1);
l.expectOnlyCreatedEvent(key1);
// Now expire both
ts0.advance(TimeUnit.MINUTES.toMillis(10) + 1);
ts1.advance(TimeUnit.MINUTES.toMillis(10) + 1);
assertNull(remote.get(key0));
allEvents.expectOnlyExpiredEvent(key0);
l.expectNoEvents();
assertNull(remote.get(key1));
allEvents.expectOnlyExpiredEvent(key1);
l.expectOnlyExpiredEvent(key1);
});
});
}
use of org.infinispan.client.hotrod.event.EventLogListener.StaticFilteredEventLogListener in project infinispan by infinispan.
the class ClientClusterEventsTest method testFilteringInCluster.
public void testFilteringInCluster() {
// Generate key and add static filter in all servers
final Integer key0 = HotRodClientTestingUtil.getIntKeyForServer(server(0));
final Integer key1 = HotRodClientTestingUtil.getIntKeyForServer(server(1));
for (HotRodServer server : servers) server.addCacheEventFilterFactory("static-filter-factory", new StaticCacheEventFilterFactory(key1));
final StaticFilteredEventLogListener<Integer> l = new StaticFilteredEventLogListener<>(client(0).getCache());
withClientListener(l, remote -> {
l.expectNoEvents();
remote.put(key0, "one");
l.expectNoEvents();
remote.put(key1, "two");
l.expectOnlyCreatedEvent(key1);
remote.remove(key0);
l.expectNoEvents();
remote.remove(key1);
l.expectOnlyRemovedEvent(key1);
});
}
Aggregations