Cassandra.Client는 http://incubator.apache.org/thrift/ 를 이용해서 Cassandra에 데이타를 insert하고 select하는 inner 클래스 입니다. Cassandra.Client를 생성하고 사용하기 위해서 제가 사용하는 CassandraClientFactory 클래스는 아래와 같습니다.

import org.apache.cassandra.thrift.Cassandra;
import org.apache.thrift.protocol.TBinaryProtocol;
import org.apache.thrift.transport.TSocket;
import org.apache.thrift.transport.TTransport;

public class CassandraClientFactory {
    private final String SERVER = "localhost";
    private final int PORT = 9160;
   
    // inner class
    private Cassandra.Client client;
    // singleton instance   
    private static CassandraClientFactory instance = new CassandraClientFactory();
   
    private CassandraClientFactory() {
        try {
            TTransport socket = new TSocket(SERVER, PORT);
            //out.println(String.format("connected to %s : %d .", SERVER, PORT));
            TBinaryProtocol binaryProtocol = new TBinaryProtocol(socket, false, false);
            this.client = new Cassandra.Client(binaryProtocol);
            socket.open();
        } catch(org.apache.thrift.transport.TTransportException e) {
            e.printStackTrace();
        }
    }
   
    public static CassandraClientFactory getInstance() {
        return instance;
    }

    public Cassandra.Client getClient() {
        return this.client;
    }
}

저작자 표시