use of com.hazelcast.spi.EventService in project hazelcast by hazelcast.
the class PartitionEventManager method addLocalPartitionLostListener.
public String addLocalPartitionLostListener(PartitionLostListener listener) {
if (listener == null) {
throw new NullPointerException("listener can't be null");
}
final PartitionLostListenerAdapter adapter = new PartitionLostListenerAdapter(listener);
EventService eventService = nodeEngine.getEventService();
EventRegistration registration = eventService.registerLocalListener(SERVICE_NAME, PARTITION_LOST_EVENT_TOPIC, adapter);
return registration.getId();
}
use of com.hazelcast.spi.EventService in project hazelcast by hazelcast.
the class PartitionEventManager method sendMigrationEvent.
void sendMigrationEvent(final MigrationInfo migrationInfo, final MigrationEvent.MigrationStatus status) {
if (migrationInfo.getSourceCurrentReplicaIndex() != 0 && migrationInfo.getDestinationNewReplicaIndex() != 0) {
// only fire events for 0th replica migrations
return;
}
ClusterServiceImpl clusterService = node.getClusterService();
MemberImpl current = clusterService.getMember(migrationInfo.getSource());
MemberImpl newOwner = clusterService.getMember(migrationInfo.getDestination());
MigrationEvent event = new MigrationEvent(migrationInfo.getPartitionId(), current, newOwner, status);
EventService eventService = nodeEngine.getEventService();
Collection<EventRegistration> registrations = eventService.getRegistrations(SERVICE_NAME, MIGRATION_EVENT_TOPIC);
eventService.publishEvent(SERVICE_NAME, registrations, event, event.getPartitionId());
}
use of com.hazelcast.spi.EventService in project hazelcast by hazelcast.
the class MultiMapOperation method hasListener.
public final boolean hasListener() {
EventService eventService = getNodeEngine().getEventService();
Collection<EventRegistration> registrations = eventService.getRegistrations(getServiceName(), name);
return registrations.size() > 0;
}
use of com.hazelcast.spi.EventService in project hazelcast by hazelcast.
the class ClientEndpointImpl method addListenerDestroyAction.
@Override
public void addListenerDestroyAction(final String service, final String topic, final String id) {
final EventService eventService = clientEngine.getEventService();
addDestroyAction(id, new Callable<Boolean>() {
@Override
public Boolean call() {
return eventService.deregisterListener(service, topic, id);
}
});
}
use of com.hazelcast.spi.EventService in project hazelcast by hazelcast.
the class AbstractCacheService method deregisterAllListener.
@Override
public void deregisterAllListener(String name) {
EventService eventService = getNodeEngine().getEventService();
Collection<EventRegistration> registrations = eventService.getRegistrations(SERVICE_NAME, name);
if (registrations != null) {
for (EventRegistration registration : registrations) {
Closeable listener = closeableListeners.remove(registration.getId());
if (listener != null) {
IOUtil.closeResource(listener);
}
}
}
eventService.deregisterAllListeners(AbstractCacheService.SERVICE_NAME, name);
CacheContext cacheContext = cacheContexts.get(name);
if (cacheContext != null) {
cacheContext.resetCacheEntryListenerCount();
cacheContext.resetInvalidationListenerCount();
}
}
Aggregations