Mercurial > hg > Members > shoshi > TreeCMSv2
diff src/treecms/tree/cassandra/v1/util/CassandraClientThread.java @ 9:17ed97ca9960
commit
author | shoshi |
---|---|
date | Mon, 18 Apr 2011 01:07:27 +0900 |
parents | src/treecms/tree/cassandra/v1/ClientThread.java@fc19e38b669b |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/treecms/tree/cassandra/v1/util/CassandraClientThread.java Mon Apr 18 01:07:27 2011 +0900 @@ -0,0 +1,48 @@ +package treecms.tree.cassandra.v1.util; + +import org.apache.thrift.transport.TTransportException; + +/** + * CassandraのClientを保持したスレッドオブジェクトです。 + * @author shoshi + */ +final class CassandraClientThread extends Thread +{ + private CassandraClientWrapper m_wrapper; + + /** + * コンストラクタです。 + * @param _host Cassandraのホスト名 + * @param _port Cassandraのポート番号 + * @param _runnable このスレッドで動作するRunnable + * @throws TTransportException + */ + private CassandraClientThread(String _host,int _port,Runnable _runnable) throws TTransportException + { + super(_runnable); + m_wrapper = new CassandraClientWrapper(_host,_port,2); + } + + /** + * ファクトリメソッドです。 + * @param _host Cassandraのホスト名 + * @param _port Cassandraのポート番号 + * @param _runnable このスレッドで動作するRunnable + * @return 新しいインスタンス + * @throws TTransportException Cassandraへの接続が失敗したとき + */ + public static CassandraClientThread newInstance(String _host,int _port,Runnable _runnable) throws TTransportException + { + CassandraClientThread thread = new CassandraClientThread(_host,_port,_runnable); + return thread; + } + + /** + * ClientWrapperを取得します + * @return CassandraへのClientWrapper + */ + public CassandraClientWrapper getClientWrapper() + { + return m_wrapper; + } +}