/** * Same as adviseGeneric except in recovery excluded. */ public Set<InternalDistributedMember> adviseCacheOp() { return adviseAllEventsOrCached(true); }
/** * Same as adviseGeneric except in recovery excluded. */ public Set adviseCacheOp() { return adviseAllEventsOrCached(true); }
/** * Provide recipient information for an update or create operation. */ final Set<InternalDistributedMember> adviseUpdate(final EntryEventImpl event) throws IllegalStateException { if (event.hasNewValue() || event.getOperation().isPutAll()) { // only need to distribute it to guys that want all events or cache data return adviseAllEventsOrCached(true/*fixes 41147*/); } else { return adviseCreateNullValue(); } }
/** * Provide recipient information for an update or create operation. * */ Set adviseUpdate(final EntryEventImpl event) throws IllegalStateException { if (event.hasNewValue() || event.getOperation().isPutAll()) { // only need to distribute it to guys that want all events or cache data return adviseAllEventsOrCached(true/*fixes 41147*/); } else { // The new value is null so this is a create with a null value, // in which case we only need to distribute this message to replicates // or all events that are not a proxy or if a proxy has a listener return adviseFilter(new Filter() { public boolean include(Profile profile) { assert profile instanceof CacheProfile; CacheProfile cp = (CacheProfile)profile; DataPolicy dp = cp.dataPolicy; return dp.withReplication() || (cp.allEvents() && (dp.withStorage() || cp.hasCacheListener)); } }); } }