Mercurial > hg > Members > shoshi > TreeCMSv2
diff src/treecms/tree/cassandra/v1/util/ConcurrentCassandraClient.java @ 10:4e0ed81bea89
added ConcurrentClient
author | shoshi |
---|---|
date | Tue, 19 Apr 2011 19:12:16 +0900 |
parents | 17ed97ca9960 |
children | 85061e874775 |
line wrap: on
line diff
--- a/src/treecms/tree/cassandra/v1/util/ConcurrentCassandraClient.java Mon Apr 18 01:07:27 2011 +0900 +++ b/src/treecms/tree/cassandra/v1/util/ConcurrentCassandraClient.java Tue Apr 19 19:12:16 2011 +0900 @@ -4,6 +4,7 @@ import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Future; +import java.util.concurrent.TimeUnit; import org.apache.cassandra.thrift.ColumnOrSuperColumn; import org.apache.cassandra.thrift.ColumnPath; @@ -28,6 +29,16 @@ return client; } + public void disconnect() + { + m_service.shutdown(); + try{ + m_service.awaitTermination(Long.MAX_VALUE,TimeUnit.DAYS); + }catch(InterruptedException _e){ + _e.printStackTrace(); + } + } + public Future<ColumnOrSuperColumn> get(final String _ks,final String _key,final ColumnPath _path,final ConsistencyLevel _level) { Callable<ColumnOrSuperColumn> task = new Callable<ColumnOrSuperColumn>(){ @@ -43,4 +54,20 @@ Future<ColumnOrSuperColumn> ret = m_service.submit(task); return ret; } + + public Future<Boolean> insert(final String _ks,final String _key,final ColumnPath _path,final byte[] _value,final long _timestamp,final ConsistencyLevel _level) + { + Callable<Boolean> task = new Callable<Boolean>(){ + @Override + public Boolean call() throws Exception + { + CassandraClientWrapper client = ((CassandraClientThread)Thread.currentThread()).getClientWrapper(); + client.insert(_ks,_key,_path,_value,_timestamp,_level); + return true; + } + }; + + Future<Boolean> ret = m_service.submit(task); + return ret; + } }