/** * @return true if destroy was done */ public boolean destroy(EntryEventImpl event, boolean cacheWrite, boolean originRemote) throws CacheWriterException, EntryNotFoundException, TimeoutException { InternalRegion internalRegion = event.getRegion(); CacheWriter cWriter = internalRegion.basicGetWriter(); byte advisedOp = adviseOp((cacheWrite ? OP_D_DESTROY : OP_L_DESTROY), event); if (cWriter != null && cacheWrite && !event.inhibitAllNotifications()) { boolean oldOriginRemote = event.isOriginRemote(); if (event.hasClientOrigin() || originRemote) { event.setOriginRemote(true); } cWriter.beforeDestroy(event); event.setOriginRemote(oldOriginRemote); } if (advisedOp != OP_NULL) { this.bulkOp = event.getOperation().isRemoveAll(); if (cacheWrite) { performOp(advisedOp, event); this.destroy = DESTROY_DISTRIBUTED; } else { performOp(advisedOp, event); if (this.destroy != DESTROY_DISTRIBUTED) { this.destroy = DESTROY_LOCAL; } } } return true; }
byte advisedOp = adviseOp(putOp, event);