Пример #1
0
 private void sendBatchInvalidationEvent(String name, Data key, String sourceUuid) {
   EventService eventService = nodeEngine.getEventService();
   Collection<EventRegistration> registrations =
       eventService.getRegistrations(ICacheService.SERVICE_NAME, name);
   if (registrations.isEmpty()) {
     return;
   }
   InvalidationEventQueue invalidationMessageQueue = invalidationMessageMap.get(name);
   if (invalidationMessageQueue == null) {
     InvalidationEventQueue newInvalidationMessageQueue = new InvalidationEventQueue();
     invalidationMessageQueue =
         invalidationMessageMap.putIfAbsent(name, newInvalidationMessageQueue);
     if (invalidationMessageQueue == null) {
       invalidationMessageQueue = newInvalidationMessageQueue;
     }
   }
   CacheSingleInvalidationMessage invalidationMessage =
       new CacheSingleInvalidationMessage(name, key, sourceUuid);
   invalidationMessageQueue.offer(invalidationMessage);
   if (invalidationMessageQueue.size() >= invalidationMessageBatchSize) {
     flushInvalidationMessages(name, invalidationMessageQueue);
   }
 }