/** * IMPORTANT: <br> * The wrapper passed here must be the authentic wrapper, i.e. it must be the * one referred by the HARegion underlying this queue. <br> * Decrements wrapper's reference count by one. If the decremented ref count * is zero and put is not in progress, removes the entry from the haContainer. * * @param wrapper * @since 5.7 */ public void decAndRemoveFromHAContainer(HAEventWrapper wrapper) { if (wrapper.decAndGetReferenceCount() == 0L && !wrapper.getPutInProgress()) { synchronized (this.haContainer) { if (wrapper.getReferenceCount() == 0L) { if (logger.isDebugEnabled()) { logger.debug("Removing event from {}: {}", this.region.getFullPath(), wrapper.getEventId()); } HARegionQueue.this.haContainer.remove(wrapper); } } } }
/** * IMPORTANT: <br> * The wrapper passed here must be the authentic wrapper, i.e. it must be the * one referred by the HARegion underlying this queue. <br> * Decrements wrapper's reference count by one. If the decremented ref count * is zero and put is not in progress, removes the entry from the haContainer. * * @param wrapper * @since 5.7 */ public void decAndRemoveFromHAContainer(HAEventWrapper wrapper) { if (wrapper.decAndGetReferenceCount() == 0L && !wrapper.getPutInProgress()) { synchronized (this.haContainer) { if (wrapper.getReferenceCount() == 0L) { if (this.logger.fineEnabled()) { this.logger.fine("Removing event from " + this.region.getFullPath() + ": " + wrapper.getEventId()); } HARegionQueue.this.haContainer.remove(wrapper); } } } }