package org.jboss.as.test.clustering.cluster.provider.bean; import java.util.Set; import javax.annotation.PostConstruct; import javax.annotation.PreDestroy; import javax.annotation.Resource; import javax.ejb.Local; import javax.ejb.Singleton; import javax.ejb.Startup; import org.wildfly.clustering.group.Node; import org.wildfly.clustering.provider.ServiceProviderRegistration; import org.wildfly.clustering.provider.ServiceProviderRegistry; @Singleton @Startup @Local(ServiceProviderRegistration.class) public class ServiceProviderRegistrationBean implements ServiceProviderRegistration<String>, ServiceProviderRegistration.Listener { @Resource(lookup = "java:jboss/clustering/providers/server/default") private ServiceProviderRegistry<String> factory; private ServiceProviderRegistration<String> registration; @PostConstruct public void init() { this.registration = this.factory.register("ServiceProviderRegistrationTestCase", this); } @PreDestroy public void destroy() { this.close(); } @Override public String getService() { return this.registration.getService(); } @Override public Set<Node> getProviders() { return this.registration.getProviders(); } @Override public void close() { this.registration.close(); } @Override public void providersChanged(Set<Node> nodes) { System.out.println(String.format("ProviderRegistration.Listener.providersChanged(%s)", nodes)); } }