package org.infinispan.affinity; import org.infinispan.affinity.impl.KeyAffinityServiceImpl; import org.infinispan.notifications.Listener; import org.infinispan.notifications.cachelistener.annotation.TopologyChanged; import org.infinispan.notifications.cachelistener.event.TopologyChangedEvent; import org.infinispan.notifications.cachemanagerlistener.annotation.CacheStopped; import org.infinispan.notifications.cachemanagerlistener.event.CacheStoppedEvent; /** * Used for registering various cache notifications. * * @author Mircea.Markus@jboss.com * @since 4.1 */ @Listener(sync = true) public class ListenerRegistration { private final KeyAffinityServiceImpl<?> keyAffinityService; public ListenerRegistration(KeyAffinityServiceImpl<?> keyAffinityService) { this.keyAffinityService = keyAffinityService; } @TopologyChanged public void handleViewChange(TopologyChangedEvent<?, ?> tce) { if (!tce.isPre()) keyAffinityService.handleViewChange(tce); } @CacheStopped public void handleCacheStopped(CacheStoppedEvent cse) { keyAffinityService.handleCacheStopped(cse); } }