package io.cattle.platform.hazelcast.membership; import java.util.Collection; import java.util.Collections; import java.util.Map; import javax.inject.Inject; import com.hazelcast.config.properties.PropertyDefinition; import com.hazelcast.logging.ILogger; import com.hazelcast.spi.discovery.DiscoveryNode; import com.hazelcast.spi.discovery.DiscoveryStrategy; import com.hazelcast.spi.discovery.DiscoveryStrategyFactory; public class DBDiscoveryFactory implements DiscoveryStrategyFactory { @Inject DBDiscovery discovery; @Override public Class<? extends DiscoveryStrategy> getDiscoveryStrategyType() { return DBDiscovery.class; } @Override public DiscoveryStrategy newDiscoveryStrategy(DiscoveryNode discoveryNode, ILogger logger, @SuppressWarnings("rawtypes") Map<String, Comparable> properties) { discovery.setSelfNode(discoveryNode); try { discovery.checkin(); } catch (Exception e) { throw new IllegalStateException(e); } return discovery; } @Override public Collection<PropertyDefinition> getConfigurationProperties() { return Collections.emptySet(); } }