com.tencent.tcaplus.client
Interface Client


public interface Client

Tcaplus Client interface.Synchronous and asynchronous accessing supported.

Version:
version 1.0
Author:
yahuiwang,elviszhu

Method Summary
 Request acquireRequest()
          For performance optimizing, the request objects are managed by a object pool.
 Response poll(Request req)
          synchronous accessing
 void post(Request req, Future future)
          asynchronous accessing
 

Method Detail

acquireRequest

Request acquireRequest()
                       throws com.tencent.tcaplus.util.TCaplusException
For performance optimizing, the request objects are managed by a object pool. acquireRequest() method is called to acquire a request object, the request object will be returned to the pool after use automatically.

Returns:
Request: a request object
Throws:
com.tencent.tcaplus.util.TCaplusException

post

void post(Request req,
          Future future)
          throws com.tencent.tcaplus.util.TCaplusException
asynchronous accessing
 exapmle:
 List<String> dirAddr = new ArrayList<String>;
 dirAddr.add("tcp://10.0.0.1:9999");
 
 //Create a client object with appid, zoneid, signature and dir address
 Client client = ClientFactory.createClient(1, 1, "47CCA171EB3A288A", dirAddr);
 
 //acquire a request object
 Request req = client.acquireRequest();
 
 //set cmd, query table and value field 
 req.setCmd(TcaplusProtocolCsConstants.TCAPLUS_CMD_GET_REQ);
 req.setTableName(TABLE_NAME);
 req.addFieldName("value_name");
 
 //set query key field
 Record record = req.addRecord();
 record.setKeyInt("key_name", 1);
 
 //excute asynchronous query. 
 Response rsp = client.post(req, new TestFuture()); 
 
 ClientFactory.destroyClient(client);
 
// callback example
 class TestFuture implements Future {
   public void onResponse(Response rsp) { 
     if (rsp.getResult() ==
           TCapErrCode.GEN_ERR_SUC) { Record record = rsp.fetchRecord();
           System.out.println(record.getValueInt("value_name")); } }
 
 

Parameters:
Request - req: request object
Future - future: user defined callback function
Throws:
com.tencent.tcaplus.util.TCaplusException

poll

Response poll(Request req)
              throws com.tencent.tcaplus.util.TCaplusException
synchronous accessing
 exapmle:
 List<String> dirAddr = new ArrayList<String>;
 dirAddr.add("tcp://10.0.0.1:9999");
 
 //Create a client object with appid, zoneid, dir address and signature
 Client client = ClientFactory.createClient(1, 1, "47CCA171EB3A288A", dirAddr);
 
 //acquire a request object
 Request req = client.acquireRequest();
 
 //set cmd, query table and value field 
 req.setCmd(TcaplusProtocolCsConstants.TCAPLUS_CMD_GET_REQ);
 req.setTableName(TABLE_NAME);
 req.addFieldName("value_name");
 
 //set query key field
 Record record = req.addRecord();
 record.setKeyInt("key_name", 1);
 
 //get synchronous response. 
 Response rsp = client.poll(req);
 if (rsp.getResult() == TCapErrCode.GEN_ERR_SUC){
     Record record = rsp.fetchRecord();
     System.out.println(record.getValueInt("value_name"));
 }
 
 ClientFactory.destroyClient(client);
 

Parameters:
Request - req: request object
Returns:
Response: a response object
Throws:
com.tencent.tcaplus.util.TCaplusException