Class DiscardMergePolicy<K,V>

java.lang.Object
com.loomcache.server.wan.merge.DiscardMergePolicy<K,V>
Type Parameters:
K - key type
V - value type
All Implemented Interfaces:
MergePolicy<K,V>

public final class DiscardMergePolicy<K,V> extends Object implements MergePolicy<K,V>
Reject-all merge policy.

Never applies the incoming WAN value. Existing local values remain unchanged and absent keys stay absent. This mirrors Hazelcast's discard policy for deployments where the target cluster is authoritative and WAN events should only be observed or counted, not materialized.

Since:
2.0
  • Constructor Details

    • DiscardMergePolicy

      public DiscardMergePolicy()
  • Method Details

    • instance

      public static <K,V> @NonNull DiscardMergePolicy<K,V> instance()
      Return the shared instance of this stateless policy.
      Type Parameters:
      K - key type
      V - value type
      Returns:
      a shared DiscardMergePolicy instance
    • merge

      public @NonNull Optional<V> merge(@NonNull K key, @NonNull MergePolicy.MergeEntry<V> incoming, @Nullable MergePolicy.MergeEntry<V> existing)
      Description copied from interface: MergePolicy
      Merge an incoming replication entry against the existing local entry.
      Specified by:
      merge in interface MergePolicy<K,V>
      Parameters:
      key - the key being replicated (non-null)
      incoming - the incoming entry from the remote cluster (non-null)
      existing - the current local entry, or null if the key has no local value
      Returns:
      the value to keep (non-empty to apply, empty to reject the incoming)