17
|
1 package treecms.cassandra.util;
|
7
|
2
|
|
3 import org.apache.thrift.transport.TTransportException;
|
|
4
|
|
5 /**
|
|
6 * CassandraのClientを保持したスレッドオブジェクトです。
|
|
7 * @author shoshi
|
|
8 */
|
9
|
9 final class CassandraClientThread extends Thread
|
7
|
10 {
|
9
|
11 private CassandraClientWrapper m_wrapper;
|
7
|
12
|
|
13 /**
|
|
14 * コンストラクタです。
|
|
15 * @param _host Cassandraのホスト名
|
|
16 * @param _port Cassandraのポート番号
|
|
17 * @param _runnable このスレッドで動作するRunnable
|
|
18 * @throws TTransportException
|
|
19 */
|
9
|
20 private CassandraClientThread(String _host,int _port,Runnable _runnable) throws TTransportException
|
7
|
21 {
|
|
22 super(_runnable);
|
9
|
23 m_wrapper = new CassandraClientWrapper(_host,_port,2);
|
7
|
24 }
|
|
25
|
|
26 /**
|
|
27 * ファクトリメソッドです。
|
|
28 * @param _host Cassandraのホスト名
|
|
29 * @param _port Cassandraのポート番号
|
|
30 * @param _runnable このスレッドで動作するRunnable
|
|
31 * @return 新しいインスタンス
|
|
32 * @throws TTransportException Cassandraへの接続が失敗したとき
|
|
33 */
|
9
|
34 public static CassandraClientThread newInstance(String _host,int _port,Runnable _runnable) throws TTransportException
|
7
|
35 {
|
9
|
36 CassandraClientThread thread = new CassandraClientThread(_host,_port,_runnable);
|
7
|
37 return thread;
|
|
38 }
|
|
39
|
|
40 /**
|
|
41 * ClientWrapperを取得します
|
|
42 * @return CassandraへのClientWrapper
|
|
43 */
|
9
|
44 public CassandraClientWrapper getClientWrapper()
|
7
|
45 {
|
|
46 return m_wrapper;
|
|
47 }
|
|
48 }
|