2015-02-09 97 views
0

我對Restlet相當陌生,寫了一小段代碼來進行HTTP調用。它正在工作,但我想知道如何添加HTTP連接池(Apache)到它。 我無法找到任何教程或參考代碼。Restlet HTTP連接池

 Client client = new Client(Protocol.HTTP); 
     ChallengeResponse challengeResponse = new ChallengeResponse(
     ChallengeScheme.HTTP_AZURE_SHAREDKEY, 
      acctName, 
      accKey); 

     String url = RestHelper.createRequestURI("CCC"); 

     Request request = new Request(Method.GET, url); 
     request.setChallengeResponse(challengeResponse); 
     Response response = client.handle(request); 

任何參考或幫助將不勝感激。

回答

0

實際上,Restlet在客戶端連接器級別內部管理一個池。這個池的配置可以使用客戶端的上下文來完成。以下示例說明如何配置它:

Client client = new Client(new Context(), Protocol.HTTP); 
client.getContext().getParameters().add("maxConnectionsPerHost","5"); 
client.getContext().getParameters().add("maxTotalConnections","5"); 

您可以注意到這些參數取決於您使用的底層客戶端連接器。

下面是一些有用的鏈接:

請注意,如果你使用ClientResource,你需要共享相同的客戶端,只有一個客戶端連接器的實例處於隱藏狀態。否則,爲每個請求實例化一個新實例。見這方法如下實施:

Client client = new Client(new Context(), Protocol.HTTP); 
ClientResource cr = new ClientResource("http://myurl"); 
cr.setNext(client); 

希望它能幫助, 蒂埃裏

+0

感謝引用我會嘗試這些選項。 – Ashu 2015-02-12 06:01:38