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