Mercurial > hg > Members > shoshi > TreeCMSv2
diff src/treecms/tree/cassandra/v1/ClientThreadFactory.java @ 7:fc19e38b669b
added concurrent access client for cassandr
author | shoshi |
---|---|
date | Thu, 17 Mar 2011 23:24:08 +0900 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/treecms/tree/cassandra/v1/ClientThreadFactory.java Thu Mar 17 23:24:08 2011 +0900 @@ -0,0 +1,42 @@ +package treecms.tree.cassandra.v1; + +import java.util.concurrent.ThreadFactory; + +import org.apache.thrift.transport.TTransportException; + +/** + * ローカル変数としてCassandra.Clientを保持するスレッドオブジェクトを生成するスレッドファクトリーです。 + * @author shoshi + */ +final class ClientThreadFactory implements ThreadFactory +{ + private String m_host; + private int m_port; + + /** + * コンストラクタです。 + * @param _host Cassandraのアドレス・ホスト名 + * @param _port Thriftポート番号 + */ + public ClientThreadFactory(String _host,int _port) + { + m_host = _host; + m_port = _port; + } + + /** + * Cassandra.Clientを保持するスレッドオブジェクトを新しく作成します。 + */ + @Override + public Thread newThread(Runnable _runnable) + { + ClientThread client = null; + try{ + client = ClientThread.newInstance(m_host,m_port,_runnable); + }catch(TTransportException _e) { + _e.printStackTrace(); + throw new RuntimeException(_e); + } + return client; + } +}