The following code works perfect with Jdk 7 in accompany with Cassandra 1.0.6:
May refer to this url: http://babydeed.iteye.com/category/187192
import java.nio.ByteBuffer;
import org.apache.cassandra.thrift.*;
import org.apache.cassandra.thrift.TBinaryProtocol;
import org.apache.thrift.protocol.*;
import org.apache.thrift.transport.*;
public class Test {
public static void main(String[] args) throws Exception {
insertOrUpdateData();
getData();
}
public static void insertOrUpdateData() throws Exception{
TTransport transport = new TFramedTransport(new TSocket("127.0.0.1",9160));
TProtocol protocol = new TBinaryProtocol(transport);
Cassandra.Client client = new Cassandra.Client(protocol);
transport.open();
client.set_keyspace("ksTest1");
ColumnParent parent = new ColumnParent("User1");
ByteBuffer rowid = ByteBuffer.wrap("100".getBytes());
Column column = new Column();
column.setName("description2".getBytes());
column.setValue("some value here222...".getBytes());
column.setTimestamp(System.currentTimeMillis());
client.insert(rowid, parent, column, ConsistencyLevel.ONE);
transport.flush();
transport.close();
}
public static void getData() throws Exception{
TTransport transport = new TFramedTransport(new TSocket("127.0.0.1",9160));
TProtocol protocol = new TBinaryProtocol(transport);
Cassandra.Client client = new Cassandra.Client(protocol);
transport.open();
client.set_keyspace("ksTest1");
ColumnParent parent = new ColumnParent("User1");
ByteBuffer rowid = ByteBuffer.wrap("100".getBytes());
Column column = new Column();
column.setName("description2".getBytes());
ColumnPath path = new ColumnPath();
path.column_family = "User1";
path.column = ByteBuffer.wrap("description2".getBytes());
ColumnOrSuperColumn c1 = client.get(rowid, path, ConsistencyLevel.ONE) ;
String res = new String(c1.getColumn().getValue(),"UTF-8");
System.out.println(res);
transport.flush();
transport.close();
}
public static void delete() throws Exception{
// open connection to Cassandra server
TTransport transport = new TFramedTransport(new TSocket("127.0.0.1",9160));
TProtocol protocol = new TBinaryProtocol(transport);
Cassandra.Client client = new Cassandra.Client(protocol);
transport.open();
// specify keyspace
client.set_keyspace("ksTest1");
// specify row id
ByteBuffer rowid = ByteBuffer.wrap("100".getBytes());
// specify column path
ColumnPath path = new ColumnPath();
path.column_family = "User1";
path.column = ByteBuffer.wrap("description2".getBytes());
// specify timestamp value of data to be removed
long timestamp = 1301874610643000L;
// set consistency level to one
ConsistencyLevel consistency = ConsistencyLevel.ONE;
// remove the description column from the specified row
// in the User column family
client.remove(rowid, path, timestamp, consistency);
// release resources
transport.flush();
transport.close();
}
}