本文整理汇总了Java中me.prettyprint.cassandra.service.CassandraHostConfigurator.setRetryDownedHosts方法的典型用法代码示例。如果您正苦于以下问题:Java CassandraHostConfigurator.setRetryDownedHosts方法的具体用法?Java CassandraHostConfigurator.setRetryDownedHosts怎么用?Java CassandraHostConfigurator.setRetryDownedHosts使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类me.prettyprint.cassandra.service.CassandraHostConfigurator
的用法示例。
在下文中一共展示了CassandraHostConfigurator.setRetryDownedHosts方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: retrieveCassandraCluster
import me.prettyprint.cassandra.service.CassandraHostConfigurator; //导入方法依赖的package包/类
private Cluster retrieveCassandraCluster(String clusterName, String connectionUrl,
Map<String, String> credentials) throws SummarizerException {
LoggingConfig config;
try {
config = LoggingConfigManager.loadLoggingConfiguration();
} catch (Exception e) {
throw new SummarizerException("Cannot read the Summarizer config file", e);
}
CassandraHostConfigurator hostConfigurator = new CassandraHostConfigurator(connectionUrl);
hostConfigurator.setRetryDownedHosts(config.isRetryDownedHostsEnable());
hostConfigurator.setRetryDownedHostsQueueSize(config.getRetryDownedHostsQueueSize());
hostConfigurator.setAutoDiscoverHosts(config.isAutoDiscoveryEnable());
hostConfigurator.setAutoDiscoveryDelayInSeconds(config.getAutoDiscoveryDelay());
Cluster cluster = HFactory.createCluster(clusterName, hostConfigurator, credentials);
return cluster;
}
示例2: createCassandraConfigurator
import me.prettyprint.cassandra.service.CassandraHostConfigurator; //导入方法依赖的package包/类
private CassandraHostConfigurator createCassandraConfigurator() {
final CassandraHostConfigurator cassandraHostConfigurator = new CassandraHostConfigurator();
cassandraHostConfigurator.setMaxActive(hectorClientConfiguration.getMaxActive());
// cassandraHostConfigurator.setMaxIdle(hectorClientConfiguration.getMaxIdle());
cassandraHostConfigurator.setCassandraThriftSocketTimeout(hectorClientConfiguration.getThriftSocketTimeout());
cassandraHostConfigurator.setRetryDownedHosts(hectorClientConfiguration.isRetryDownedHosts());
cassandraHostConfigurator.setRetryDownedHostsDelayInSeconds(
hectorClientConfiguration.getRetryDownedHostsDelayInSeconds());
cassandraHostConfigurator.setLoadBalancingPolicy(hectorClientConfiguration.getLoadBalancingPolicy());
log.info("Hector Host Configurator Parameters \n" + cassandraHostConfigurator.toString());
if (StringUtils.isNotBlank(username) && StringUtils.isNotBlank(password)) {
Map<String, String> accessMap = new HashMap<>();
accessMap.put("username", this.username);
accessMap.put("password", this.password);
}
return cassandraHostConfigurator;
}
示例3: init
import me.prettyprint.cassandra.service.CassandraHostConfigurator; //导入方法依赖的package包/类
protected void init(String clustername, String hosts, String username, String password, String keyspace) {
CassandraHostConfigurator hostconfig = new CassandraHostConfigurator(hosts);
hostconfig.setRetryDownedHosts(true);
hostconfig.setRetryDownedHostsDelayInSeconds(5);
hostconfig.setRetryDownedHostsQueueSize(-1); // no bounds
this.cluster = HFactory.getOrCreateCluster(clustername, hostconfig);
Map<String,String> credentials = new HashMap<String, String>();
if (username != null && username.length() > 0) {
credentials.put("username", username);
credentials.put("password", password);
}
this.keyspace = HFactory.createKeyspace(
keyspace,
cluster,
new AllOneConsistencyLevelPolicy(),
FailoverPolicy.ON_FAIL_TRY_ALL_AVAILABLE);
}
示例4: getCluster
import me.prettyprint.cassandra.service.CassandraHostConfigurator; //导入方法依赖的package包/类
/**
* Create a hector cluster instance for an existing Cassandra cluster with the given configuration.
* Default values for {@code CassandraHostConfigurator} are configured in properties.
*
* @param clusterName cluster name. This is an identifying string for the cluster.
* Clusters will be created on demand per each unique clusterName
* @param activeClients The maximum number of active clients to allowkey.
* @param thriftSocketTimeout Cassandra Thrift Socket Timeout (in milliseconds)
* @return cluster object
* @see <a href="https://github.com/hector-client/hector/wiki/User-Guide#finer-grained-configuration">Hector config</a>
*/
public Cluster getCluster(String clusterName, int activeClients, int thriftSocketTimeout) {
logger.info("Bootstrapping hector cluster client for " + clusterName);
CassandraHostConfigurator config = new CassandraHostConfigurator();
String hostStr = collectionToCommaDelimitedString(resolveHosts(clusterHosts,
getProp("host_resolve", Boolean.class, true),
getProp("host_ipv4", Boolean.class, true)));
config.setHosts(hostStr);
config.setPort(clusterPort);
config.setUseThriftFramedTransport(getProp("thrift", Boolean.class, true));
config.setUseSocketKeepalive(getProp("keep_alive", Boolean.class, true));
config.setCassandraThriftSocketTimeout(thriftSocketTimeout);
config.setMaxActive(activeClients);
config.setExhaustedPolicy(ExhaustedPolicy.valueOf(getProp("exhausted_policy", String.class, WHEN_EXHAUSTED_GROW.toString())));
config.setMaxWaitTimeWhenExhausted(getProp("exhausted_waittime", Integer.class, -1));
config.setUseHostTimeoutTracker(getProp("ht_tracker", Boolean.class, true));
config.setHostTimeoutCounter(getProp("ht_count", Integer.class, 3));
config.setRetryDownedHosts(getProp("retry_hosts", Boolean.class, true));
config.setRetryDownedHostsDelayInSeconds(getProp("retry_hosts_delay", Integer.class, 60));
boolean autoDiscovery = getProp("auto_discovery", Boolean.class, false);
config.setAutoDiscoverHosts(autoDiscovery);
if (autoDiscovery) {
config.setRunAutoDiscoveryAtStartup(true);
config.setAutoDiscoveryDelayInSeconds(60);
}
logger.info(config.toString());
Cluster cluster = HFactory.createCluster(clusterName, config);
logger.info("Known pool hosts for " + clusterName + " cluster is " + cluster.getKnownPoolHosts(true));
if (cluster.getKnownPoolHosts(true).size() == 0) {
logger.error("shutdown due to empty cluster.getKnownPoolHosts - hector doesnt throw java.net.ConnectException: Connection refused");
}
return cluster;
}
示例5: accept
import me.prettyprint.cassandra.service.CassandraHostConfigurator; //导入方法依赖的package包/类
@Override
public void accept(final Configuration<Map<String, Object>> configuration) {
_hosts = configuration.getAttribute(HOSTS, "127.0.0.1:9160");
_keyspaceName = configuration.getAttribute(KEYSPACE, "KeyspaceCumulus") + _keyspaceNameSuffix;
_replicationFactor = configuration.getAttribute(REPLICATION_FACTOR, Integer.valueOf(1));
_readConsistency = configuration.getAttribute(READ_CONSISTENCY, "ONE");
_writeConsistency = configuration.getAttribute(WRITE_CONSISTENCY, "ONE");
final CassandraHostConfigurator config = new CassandraHostConfigurator(_hosts);
config.setRetryDownedHosts(configuration.getAttribute(RETRY_DOWNED_HOSTS, Boolean.TRUE));
final Integer socketTimeout = configuration.getAttribute(THRIFT_SOCKET_TIMEOUT, null);
if (socketTimeout != null) {
config.setCassandraThriftSocketTimeout(socketTimeout);
}
config.setRetryDownedHostsDelayInSeconds(configuration.getAttribute(RETRY_DOWNED_HOSTS_DELAY_IN_SECONDS, Integer.valueOf(10)));
config.setRetryDownedHostsQueueSize(configuration.getAttribute(RETRY_DOWNED_HOSTS_QUEUE_SIZE, Integer.valueOf(256)));
config.setMaxWaitTimeWhenExhausted(configuration.getAttribute(MAX_WAIT_TIME_WHEN_EXHAUSTED, Integer.valueOf(0)));
final String lbPolicy = configuration.getAttribute(LOAD_BALANCING_POLICY, null);
if (lbPolicy != null) {
try {
config.setLoadBalancingPolicy((LoadBalancingPolicy) Class.forName(lbPolicy).newInstance());
} catch (Exception ignore) {
// Just use the default value
}
}
_cluster = HFactory.getOrCreateCluster("CumulusRDFCluster", config);
}
示例6: initialize
import me.prettyprint.cassandra.service.CassandraHostConfigurator; //导入方法依赖的package包/类
@PostConstruct
public void initialize() {
String cassandraHosts = env.getProperty("ea.cassandra.hosts","localhost:9160");
CassandraHostConfigurator hostConfigurator = new CassandraHostConfigurator(cassandraHosts);
hostConfigurator.setAutoDiscoverHosts(false);
hostConfigurator.setMaxActive(env.getProperty("ea.cassandra.maxActive",Integer.class,Runtime.getRuntime().availableProcessors() * 3));
hostConfigurator.setRetryDownedHosts(true);
hostConfigurator.setRetryDownedHostsDelayInSeconds(env.getProperty("ea.cassandra.retryDownedHostsDelayInSeconds",Integer.class,1));
hostConfigurator.setMaxWaitTimeWhenExhausted(2000L);
String cassandraClusterName = env.getProperty("ea.cassandra.cluster","ElasticActorsCluster");
// it seems that there are issues with the CassandraHostRetryService and retrying downed hosts
// if we don't let the HFactory manage the cluster then CassandraHostRetryService doesn't try to
// be smart about finding out if a host was removed from the ring and so it will keep on retrying
// all configured hosts (and ultimately fail-back when the host comes back online)
// the default is TRUE, which will let HFactory manage the cluster
Boolean manageClusterThroughHFactory = env.getProperty("ea.cassandra.hfactory.manageCluster", Boolean.class, Boolean.TRUE);
Cluster cluster;
if(manageClusterThroughHFactory) {
cluster = HFactory.getOrCreateCluster(cassandraClusterName, hostConfigurator);
} else {
cluster = new ThriftCluster(cassandraClusterName, hostConfigurator, null);
}
String cassandraKeyspaceName = env.getProperty("ea.cassandra.keyspace","ElasticActors");
Keyspace keyspace = HFactory.createKeyspace(cassandraKeyspaceName,cluster);
persistentActorsColumnFamilyTemplate =
new ThriftColumnFamilyTemplate<>(keyspace,"PersistentActors", CompositeSerializer.get(),StringSerializer.get());
scheduledMessagesColumnFamilyTemplate =
new ThriftColumnFamilyTemplate<>(keyspace,"ScheduledMessages",CompositeSerializer.get(), CompositeSerializer.get());
actorSystemEventListenersColumnFamilyTemplate =
new ThriftColumnFamilyTemplate<>(keyspace,"ActorSystemEventListeners", CompositeSerializer.get(),StringSerializer.get());
// return
// @TODO: make this configurable and use the ColumnSliceIterator
scheduledMessagesColumnFamilyTemplate.setCount(Integer.MAX_VALUE);
actorSystemEventListenersColumnFamilyTemplate.setCount(Integer.MAX_VALUE);
}