Search in sources :

Example 21 with Node

use of org.wildfly.clustering.group.Node in project quickstart by wildfly.

the class QueryingService method start.

@Override
public void start(StartContext context) throws StartException {
    LOG.info("Querying service is starting.");
    executor = Executors.newSingleThreadScheduledExecutor();
    executor.scheduleAtFixedRate(() -> {
        @SuppressWarnings("unchecked") ServiceController<Node> service = (ServiceController<Node>) context.getController().getServiceContainer().getService(ServiceActivator.SINGLETON_SERVICE_NAME);
        try {
            Node node = service.awaitValue(5, TimeUnit.SECONDS);
            LOG.infof("Singleton service is running on node '%s'.", node);
        } catch (InterruptedException | TimeoutException | IllegalStateException e) {
            LOG.warn("Failed to query singleton service.");
        }
    }, 5, 5, TimeUnit.SECONDS);
}
Also used : Node(org.wildfly.clustering.group.Node) ServiceController(org.jboss.msc.service.ServiceController) TimeoutException(java.util.concurrent.TimeoutException)

Example 22 with Node

use of org.wildfly.clustering.group.Node in project quickstart by wildfly.

the class ServiceActivator method activate.

@Override
public void activate(ServiceActivatorContext serviceActivatorContext) {
    try {
        SingletonPolicy policy = (SingletonPolicy) serviceActivatorContext.getServiceRegistry().getRequiredService(ServiceName.parse(SingletonDefaultRequirement.SINGLETON_POLICY.getName())).awaitValue();
        InjectedValue<Group> group = new InjectedValue<>();
        Service<Node> primary = new SingletonService(true, group);
        Service<Node> backup = new SingletonService(false, group);
        policy.createSingletonServiceBuilder(SINGLETON_SERVICE_NAME, primary, backup).build(serviceActivatorContext.getServiceTarget()).addDependency(ServiceName.parse("org.wildfly.clustering.default-group"), Group.class, group).install();
        LOG.info("Singleton service activated.");
    } catch (InterruptedException e) {
        throw new ServiceRegistryException(e);
    }
}
Also used : Group(org.wildfly.clustering.group.Group) InjectedValue(org.jboss.msc.value.InjectedValue) SingletonPolicy(org.wildfly.clustering.singleton.SingletonPolicy) Node(org.wildfly.clustering.group.Node) ServiceRegistryException(org.jboss.msc.service.ServiceRegistryException)

Aggregations

Node (org.wildfly.clustering.group.Node)22 Map (java.util.Map)8 ConcurrentHashMap (java.util.concurrent.ConcurrentHashMap)6 HashSet (java.util.HashSet)5 Set (java.util.Set)4 Test (org.junit.Test)4 AbstractMap (java.util.AbstractMap)3 ArrayList (java.util.ArrayList)3 HashMap (java.util.HashMap)3 ExecutorService (java.util.concurrent.ExecutorService)3 RejectedExecutionException (java.util.concurrent.RejectedExecutionException)3 TimeoutException (java.util.concurrent.TimeoutException)3 Batch (org.wildfly.clustering.ee.Batch)3 Group (org.wildfly.clustering.group.Group)3 IOException (java.io.IOException)2 InetSocketAddress (java.net.InetSocketAddress)2 Collections (java.util.Collections)2 List (java.util.List)2 CancellationException (java.util.concurrent.CancellationException)2 ConcurrentMap (java.util.concurrent.ConcurrentMap)2