annotate 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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
1 package treecms.tree.cassandra.v1;
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
2
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
3 import java.util.concurrent.ThreadFactory;
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
4
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
5 import org.apache.thrift.transport.TTransportException;
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
6
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
7 /**
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
8 * ローカル変数としてCassandra.Clientを保持するスレッドオブジェクトを生成するスレッドファクトリーです。
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
9 * @author shoshi
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
10 */
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
11 final class ClientThreadFactory implements ThreadFactory
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
12 {
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
13 private String m_host;
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
14 private int m_port;
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
15
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
16 /**
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
17 * コンストラクタです。
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
18 * @param _host Cassandraのアドレス・ホスト名
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
19 * @param _port Thriftポート番号
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
20 */
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
21 public ClientThreadFactory(String _host,int _port)
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
22 {
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
23 m_host = _host;
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
24 m_port = _port;
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
25 }
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
26
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
27 /**
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
28 * Cassandra.Clientを保持するスレッドオブジェクトを新しく作成します。
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
29 */
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
30 @Override
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
31 public Thread newThread(Runnable _runnable)
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
32 {
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
33 ClientThread client = null;
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
34 try{
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
35 client = ClientThread.newInstance(m_host,m_port,_runnable);
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
36 }catch(TTransportException _e) {
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
37 _e.printStackTrace();
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
38 throw new RuntimeException(_e);
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
39 }
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
40 return client;
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
41 }
fc19e38b669b added concurrent access client for cassandr
shoshi
parents:
diff changeset
42 }