Author: [email protected]
Date: Wed Feb 15 12:34:49 2012
New Revision: 2087
Log:
[AMDATUCASSANDRA-149] Applied Hector configuration to PM Cassandra connection
Modified:
trunk/amdatu-cassandra/cassandra-persistencemanager-hector/src/main/java/org/amdatu/cassandra/persistencemanager/hector/service/HectorCassandraPersistenceManagerImpl.java
Modified:
trunk/amdatu-cassandra/cassandra-persistencemanager-hector/src/main/java/org/amdatu/cassandra/persistencemanager/hector/service/HectorCassandraPersistenceManagerImpl.java
==============================================================================
---
trunk/amdatu-cassandra/cassandra-persistencemanager-hector/src/main/java/org/amdatu/cassandra/persistencemanager/hector/service/HectorCassandraPersistenceManagerImpl.java
(original)
+++
trunk/amdatu-cassandra/cassandra-persistencemanager-hector/src/main/java/org/amdatu/cassandra/persistencemanager/hector/service/HectorCassandraPersistenceManagerImpl.java
Wed Feb 15 12:34:49 2012
@@ -27,6 +27,7 @@
import me.prettyprint.cassandra.serializers.SerializerTypeInferer;
import me.prettyprint.cassandra.serializers.StringSerializer;
import me.prettyprint.cassandra.service.CassandraHost;
+import me.prettyprint.cassandra.service.CassandraHostConfigurator;
import me.prettyprint.cassandra.service.OperationType;
import me.prettyprint.hector.api.Cluster;
import me.prettyprint.hector.api.ConsistencyLevelPolicy;
@@ -144,6 +145,7 @@
// Properties read from the configuration
private Dictionary m_config;
private ConfigurationUtil m_configUtil;
+ private CassandraHostConfigurator m_hostConfig = null;
public void start() {
super.start();
@@ -218,10 +220,8 @@
// Perform a classloader switch to prevent log4j trying to load
classes from the system classloader
// instead of the bundle classloader.
Thread.currentThread().setContextClassLoader(getClass().getClassLoader());
- String thriftHost =
- m_configUtil.get(HOSTS, String.class) + ":" +
m_configUtil.get(PORT, Integer.class);
String clusterName = m_configUtil.get(CLUSTER_NAME, String.class);
- return HFactory.getOrCreateCluster(clusterName, thriftHost);
+ return HFactory.getOrCreateCluster(clusterName,
getCassandraHostConfigurator());
}
finally {
Thread.currentThread().setContextClassLoader(oldClassLoader);
@@ -724,4 +724,34 @@
list.add(column);
return list;
}
+
+ private CassandraHostConfigurator getCassandraHostConfigurator() {
+ if (m_hostConfig == null) {
+ m_hostConfig = new CassandraHostConfigurator();
+ m_hostConfig.setHosts(m_configUtil.get(HOSTS, String.class)); //
comma separated
+ m_hostConfig.setPort(m_configUtil.get(PORT, Integer.class));
+ m_hostConfig.setMaxActive(m_configUtil.get(MAXACTIVE,
Integer.class));
+
m_hostConfig.setMaxWaitTimeWhenExhausted(m_configUtil.get(MAXWAITTIMEWHENEXHAUSTED,
Long.class));
+
m_hostConfig.setCassandraThriftSocketTimeout(m_configUtil.get(CASSANDRATHRIFTSOCKETTIMEOUT,
+ Integer.class));
+
m_hostConfig.setUseThriftFramedTransport(m_configUtil.get(USETHRIFTFRAMEDTRANSPORT,
Boolean.class));
+
m_hostConfig.setRetryDownedHosts(m_configUtil.get(RETRYDOWNEDHOSTS,
Boolean.class));
+
m_hostConfig.setRetryDownedHostsDelayInSeconds(m_configUtil.get(RETRYDOWNEDHOSTSDELAYINSECONDS,
+ Integer.class));
+
m_hostConfig.setRetryDownedHostsQueueSize(m_configUtil.get(RETRYDOWNEDHOSTSQUEUESIZE,
Integer.class));
+
m_hostConfig.setAutoDiscoverHosts(m_configUtil.get(AUTODISCOVERHOSTS,
Boolean.class));
+ m_hostConfig
+
.setAutoDiscoveryDelayInSeconds(m_configUtil.get(AUTODISCOVERYDELAYINSECONDS,
Integer.class));
+
m_hostConfig.setRunAutoDiscoveryAtStartup(m_configUtil.get(RUNAUTODISCOVERYATSTARTUP,
Boolean.class));
+
m_hostConfig.setUseHostTimeoutTracker(m_configUtil.get(USEHOSTTIMEOUTTRACKER,
Boolean.class));
+
m_hostConfig.setHostTimeoutCounter(m_configUtil.get(HOSTTIMEOUTCOUNTER,
Integer.class));
+
m_hostConfig.setHostTimeoutWindow(m_configUtil.get(HOSTTIMEOUTWINDOW,
Integer.class));
+
m_hostConfig.setHostTimeoutSuspensionDurationInSeconds(m_configUtil.get(
+ HOSTTIMEOUTSUSPENSIONDURATIONINSECONDS, Integer.class));
+
m_hostConfig.setHostTimeoutUnsuspendCheckDelay(m_configUtil.get(HOSTTIMEOUTUNSUSPENDCHECKDELAY,
+ Integer.class));
+
m_hostConfig.setUseSocketKeepalive(m_configUtil.get(USESOCKETKEEPALIVE,
Boolean.class));
+ }
+ return m_hostConfig;
+ }
}
_______________________________________________
Amdatu-commits mailing list
[email protected]
http://lists.amdatu.org/mailman/listinfo/amdatu-commits