view src/treecms/cassandra/util/CassandraClientThread.java @ 27:aecc55e87143 default tip

test commit
author Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp>
date Thu, 18 Aug 2011 17:37:03 +0900
parents 168deb591f21
children
line wrap: on
line source

package treecms.cassandra.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;
	}
}