This content has been marked as final.
Show 1 reply
-
1. Re: How to stop singleton service programmatically in jboss 7.1.1
pferraro May 15, 2014 6:03 PM (in response to prabus.4797)To solve the split brain scenario, you effectively want to require a quorum (i.e. a minimum membership size) before proceeding with a singleton master election. This is implemented in WildFly. You can probably implement something similar in AS 7.1.1 via a custom election policy.
e.g.
public class QuorumSingletonElectionPolicy implements SingletonElectionPolicy { private final SingletonElectionPolicy policy; private final int quorum; public QuorumSingletonElectionPolicy(SingletonElectionPolicy policy, int quorum) { this.policy = policy; this.quorum = quorum; } @Override public ClusterNode elect(List<ClusterNode> candidates) { return (candidates.size() >= this.quorum) ? this.policy.elect(candidates) : null; } }
It's a bit of a hack, but it ought to work.