package cz.benky.webdav.util; import com.netflix.astyanax.AstyanaxContext; import com.netflix.astyanax.Keyspace; import com.netflix.astyanax.connectionpool.NodeDiscoveryType; import com.netflix.astyanax.connectionpool.impl.ConnectionPoolConfigurationImpl; import com.netflix.astyanax.connectionpool.impl.CountingConnectionPoolMonitor; import com.netflix.astyanax.impl.AstyanaxConfigurationImpl; import com.netflix.astyanax.model.ColumnFamily; import com.netflix.astyanax.serializers.StringSerializer; import com.netflix.astyanax.thrift.ThriftFamilyFactory; import java.util.UUID; public class CassandraUtils { public static final UUID ROOT_UUID = UUID.fromString("00000000-0000-0000-0000-000000000000"); protected static final String KEYSPACE_NAME = "webdav"; public static final ColumnFamily<String, String> CQL3_CF = ColumnFamily.newColumnFamily( "Cql3CF", StringSerializer.get(), StringSerializer.get()); /** * Creates connection to Cassandra */ public static Keyspace getConnection() { final AstyanaxContext<Keyspace> context = new AstyanaxContext.Builder() .forCluster("ClusterName") .forKeyspace(KEYSPACE_NAME) .withAstyanaxConfiguration(new AstyanaxConfigurationImpl() .setDiscoveryType(NodeDiscoveryType.RING_DESCRIBE) ) .withConnectionPoolConfiguration(new ConnectionPoolConfigurationImpl("MyConnectionPool") .setPort(9160) .setMaxConnsPerHost(1) .setSeeds("127.0.0.1:9160") .setSocketTimeout(60000) ) .withAstyanaxConfiguration(new AstyanaxConfigurationImpl() .setCqlVersion("3.0.0") .setTargetCassandraVersion("1.2") ) .withConnectionPoolMonitor(new CountingConnectionPoolMonitor()) .buildKeyspace(ThriftFamilyFactory.getInstance()); context.start(); return context.getClient(); } }