package com.example; import java.util.logging.*; import java.util.Collection; import java.util.List; import java.util.ArrayList; import org.jgroups.Address; import org.jgroups.Membership; import org.jgroups.stack.MembershipChangePolicy; public class LargestWinningPolicy implements MembershipChangePolicy { private static Logger LOG = Logger.getLogger(LargestWinningPolicy.class.getName()); public LargestWinningPolicy() { LOG.info("Initialized."); } /** * Called when a normal view change occured. */ public List
getNewMembership(final Collection current_members, final Collection joiners, final Collection leavers, final Collection suspects) { Membership mbrs = new Membership(current_members).remove(leavers).remove(suspects).add(joiners); return mbrs.getMembers(); } /** * Called when a merge happened. * The first largest subview wins. */ public List getNewMembership(final Collection