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

Reply via email to