Restlet HTTP连接池

时间:2015-02-09 19:25:52

标签: restlet restlet-2.0

我对Restlet相当新,并编写了一小段代码来进行HTTP调用。它正在工作但我想知道如何将HTTP连接池(apache)添加到其中。 我无法找到任何教程或参考代码。

        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); 

任何参考或帮助将不胜感激。

1 个答案:

答案 0 :(得分: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);

希望它有所帮助, 亨利