Search in sources :

Example 1 with StaticFilteredEventLogListener

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);
        });
    });
}
Also used : StaticCacheEventFilterFactory(org.infinispan.client.hotrod.event.EventLogListener.StaticCacheEventFilterFactory) FilterCustomEventLogListener(org.infinispan.client.hotrod.event.CustomEventLogListener.FilterCustomEventLogListener) StaticCustomEventLogListener(org.infinispan.client.hotrod.event.CustomEventLogListener.StaticCustomEventLogListener) StaticFilteredEventLogListener(org.infinispan.client.hotrod.event.EventLogListener.StaticFilteredEventLogListener) HotRodServer(org.infinispan.server.hotrod.HotRodServer) StaticFilteredEventLogListener(org.infinispan.client.hotrod.event.EventLogListener.StaticFilteredEventLogListener)

Example 2 with StaticFilteredEventLogListener

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);
    });
}
Also used : StaticCacheEventFilterFactory(org.infinispan.client.hotrod.event.EventLogListener.StaticCacheEventFilterFactory) HotRodServer(org.infinispan.server.hotrod.HotRodServer) StaticFilteredEventLogListener(org.infinispan.client.hotrod.event.EventLogListener.StaticFilteredEventLogListener)

Aggregations

StaticCacheEventFilterFactory (org.infinispan.client.hotrod.event.EventLogListener.StaticCacheEventFilterFactory)2 StaticFilteredEventLogListener (org.infinispan.client.hotrod.event.EventLogListener.StaticFilteredEventLogListener)2 HotRodServer (org.infinispan.server.hotrod.HotRodServer)2 FilterCustomEventLogListener (org.infinispan.client.hotrod.event.CustomEventLogListener.FilterCustomEventLogListener)1 StaticCustomEventLogListener (org.infinispan.client.hotrod.event.CustomEventLogListener.StaticCustomEventLogListener)1