use of com.hazelcast.spi.impl.eventservice.EventService in project hazelcast by hazelcast.
the class MembershipManager method sendMembershipEventNotifications.
private void sendMembershipEventNotifications(MemberImpl member, Set<Member> members, final boolean added) {
int eventType = added ? MembershipEvent.MEMBER_ADDED : MembershipEvent.MEMBER_REMOVED;
node.getNodeExtension().getAuditlogService().eventBuilder(added ? AuditlogTypeIds.CLUSTER_MEMBER_ADDED : AuditlogTypeIds.CLUSTER_MEMBER_REMOVED).message("Membership changed").addParameter("memberAddress", member.getAddress()).log();
MembershipEvent membershipEvent = new MembershipEvent(clusterService, member, eventType, members);
Collection<MembershipAwareService> membershipAwareServices = nodeEngine.getServices(MembershipAwareService.class);
if (membershipAwareServices != null && !membershipAwareServices.isEmpty()) {
final MembershipServiceEvent event = new MembershipServiceEvent(membershipEvent);
for (final MembershipAwareService service : membershipAwareServices) {
nodeEngine.getExecutionService().execute(MEMBERSHIP_EVENT_EXECUTOR_NAME, () -> {
if (added) {
service.memberAdded(event);
} else {
service.memberRemoved(event);
}
});
}
}
EventService eventService = nodeEngine.getEventService();
Collection<EventRegistration> registrations = eventService.getRegistrations(SERVICE_NAME, SERVICE_NAME);
for (EventRegistration reg : registrations) {
eventService.publishEvent(SERVICE_NAME, reg, membershipEvent, reg.getId().hashCode());
}
}
use of com.hazelcast.spi.impl.eventservice.EventService in project hazelcast by hazelcast.
the class PartitionEventManager method addPartitionLostListenerAsync.
public CompletableFuture<UUID> addPartitionLostListenerAsync(@Nonnull PartitionLostListener listener) {
checkNotNull(listener, "listener can't be null");
final PartitionLostListenerAdapter adapter = new PartitionLostListenerAdapter(listener);
EventService eventService = nodeEngine.getEventService();
return eventService.registerListenerAsync(SERVICE_NAME, PARTITION_LOST_EVENT_TOPIC, adapter).thenApplyAsync(EventRegistration::getId, CALLER_RUNS);
}
use of com.hazelcast.spi.impl.eventservice.EventService in project hazelcast by hazelcast.
the class PartitionEventManager method removeMigrationListenerAsync.
public CompletableFuture<Boolean> removeMigrationListenerAsync(@Nonnull UUID registrationId) {
checkNotNull(registrationId, "registrationId can't be null");
EventService eventService = nodeEngine.getEventService();
return eventService.deregisterListenerAsync(SERVICE_NAME, MIGRATION_EVENT_TOPIC, registrationId);
}
use of com.hazelcast.spi.impl.eventservice.EventService in project hazelcast by hazelcast.
the class PartitionEventManager method registerLocalListener.
private UUID registerLocalListener(PartitionEventListener<?> adapter, String topic) {
EventService eventService = nodeEngine.getEventService();
EventRegistration registration = eventService.registerLocalListener(SERVICE_NAME, topic, adapter);
return registration.getId();
}
use of com.hazelcast.spi.impl.eventservice.EventService in project hazelcast by hazelcast.
the class PartitionEventManager method sendMigrationEvent.
private void sendMigrationEvent(ReplicaMigrationEvent event) {
EventService eventService = nodeEngine.getEventService();
// All migration events are sent in order.
eventService.publishEvent(SERVICE_NAME, MIGRATION_EVENT_TOPIC, event, MIGRATION_EVENT_TOPIC.hashCode());
}
Aggregations