org.infinispan.affinity.ListenerRegistration Maven / Gradle / Ivy
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 [email protected]
* @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);
}
}