view src/treecms/cassandra/util/CassandraClientThread.java @ 17:168deb591f21

commit
author shoshi
date Tue, 24 May 2011 00:33:12 +0900
parents src/treecms/tree/cassandra/v1/util/CassandraClientThread.java@17ed97ca9960
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;
	}
}