
org.wildfly.clustering.singleton.service.SingletonServiceBuilder Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of wildfly-clustering-singleton-api Show documentation
Show all versions of wildfly-clustering-singleton-api Show documentation
Public API for installing singleton MSC services.
/*
* Copyright The WildFly Authors
* SPDX-License-Identifier: Apache-2.0
*/
package org.wildfly.clustering.singleton.service;
import org.jboss.msc.Service;
import org.jboss.msc.service.LifecycleListener;
import org.jboss.msc.service.ServiceBuilder;
import org.jboss.msc.service.ServiceController.Mode;
import org.wildfly.clustering.singleton.election.SingletonElectionListener;
import org.wildfly.clustering.singleton.election.SingletonElectionPolicy;
/**
* A service builder for singleton service installation.
* @author Paul Ferraro
*/
public interface SingletonServiceBuilder extends ServiceBuilder {
@Override
SingletonServiceController install();
@Override
SingletonServiceBuilder setInitialMode(Mode mode);
@Override
SingletonServiceBuilder setInstance(Service service);
@Override
SingletonServiceBuilder addListener(LifecycleListener listener);
/**
* Defines the minimum number of members required before a singleton election will take place.
* @param quorum the quorum required for electing a primary singleton provider
* @return a reference to this configurator
*/
SingletonServiceBuilder requireQuorum(int quorum);
/**
* Defines the policy for electing a primary singleton provider.
* @param policy an election policy
* @return a reference to this configurator
*/
SingletonServiceBuilder withElectionPolicy(SingletonElectionPolicy policy);
/**
* Defines a listener to trigger following the election of a primary singleton provider.
* @param listener an election listener
* @return a reference to this configurator
*/
SingletonServiceBuilder withElectionListener(SingletonElectionListener listener);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy