use of org.wildfly.clustering.singleton.election.SimpleSingletonElectionPolicy in project wildfly by wildfly.
the class SingletonServiceActivator method install.
private static void install(ServiceTarget target, SingletonServiceBuilderFactory factory, ServiceName name, String preferredNode) {
InjectedValue<Group> group = new InjectedValue<>();
NodeService service = new NodeService(group);
factory.createSingletonServiceBuilder(name, service).electionPolicy(new PreferredSingletonElectionPolicy(new SimpleSingletonElectionPolicy(), new NamePreference(preferredNode))).build(target).addDependency(ServiceName.JBOSS.append("clustering", "group", "default"), Group.class, group).install();
}
use of org.wildfly.clustering.singleton.election.SimpleSingletonElectionPolicy in project wildfly by wildfly.
the class NodeServiceActivator method install.
private static void install(ServiceTarget target, SingletonServiceBuilderFactory factory, ServiceName name, int quorum) {
InjectedValue<Group> group = new InjectedValue<>();
NodeService service = new NodeService(group);
factory.createSingletonServiceBuilder(name, service).electionPolicy(new PreferredSingletonElectionPolicy(new SimpleSingletonElectionPolicy(), new NamePreference(PREFERRED_NODE))).requireQuorum(quorum).build(target).addDependency(ServiceName.parse("org.wildfly.clustering.default-group"), Group.class, group).install();
}
use of org.wildfly.clustering.singleton.election.SimpleSingletonElectionPolicy in project wildfly by wildfly.
the class SimpleSingletonElectionPolicyTestCase method elect.
@Test
public void elect() {
Node node1 = mock(Node.class);
Node node2 = mock(Node.class);
Node node3 = mock(Node.class);
List<Node> nodes = Arrays.asList(node1, node2, node3);
assertSame(node1, new SimpleSingletonElectionPolicy().elect(nodes));
assertSame(node1, new SimpleSingletonElectionPolicy(0).elect(nodes));
assertSame(node2, new SimpleSingletonElectionPolicy(1).elect(nodes));
assertSame(node3, new SimpleSingletonElectionPolicy(2).elect(nodes));
assertSame(node1, new SimpleSingletonElectionPolicy(3).elect(nodes));
assertNull(new SimpleSingletonElectionPolicy().elect(Collections.<Node>emptyList()));
}
Aggregations