view src/treecms/tree/cassandra/v1/util/CassandraClientThreadFactory.java @ 9:17ed97ca9960

commit
author shoshi
date Mon, 18 Apr 2011 01:07:27 +0900
parents src/treecms/tree/cassandra/v1/ClientThreadFactory.java@fc19e38b669b
children
line wrap: on
line source

package treecms.tree.cassandra.v1.util;

import java.util.concurrent.ThreadFactory;

import org.apache.thrift.transport.TTransportException;

/**
 * ローカル変数としてCassandra.Clientを保持するスレッドオブジェクトを生成するスレッドファクトリーです。
 * @author shoshi
 */
final class CassandraClientThreadFactory implements ThreadFactory
{
	private String m_host;
	private int m_port;
	
	/**
	 * コンストラクタです。
	 * @param _host Cassandraのアドレス・ホスト名
	 * @param _port Thriftポート番号
	 */
	public CassandraClientThreadFactory(String _host,int _port)
	{
		m_host = _host;
		m_port = _port;
	}

	/**
	 * Cassandra.Clientを保持するスレッドオブジェクトを新しく作成します。
	 */
	@Override
	public Thread newThread(Runnable _runnable)
	{
		CassandraClientThread client = null;
		try{
			client = CassandraClientThread.newInstance(m_host,m_port,_runnable);
		}catch(TTransportException _e) {
			_e.printStackTrace();
			throw new RuntimeException(_e);
		}
		return client;
	}
}