小编use*_*364的帖子

最大线程问题

首先,我检查了有关此问题的讨论,但无法找到我的问题的答案,这就是我打开这个问题的原因.

我使用restlet 2.0.15设置了一个Web服务.该实现仅适用于服务器.与服务器的连接是通过网页进行的,因此我没有使用ClientResource.

用尽线程池问题的大部分答案都表明包含了

#exhaust + #release

Web服务的过程可以描述为单个函数.GET从网页接收请求,查询数据库,以XML格式化结果并返回最终表示.我使用Filter来覆盖beforeHandle和afterHandle.

组件创建代码的代码:

Component component = new Component();
component.getServers().add(Protocol.HTTP, 8188);
component.getContext().getParameters().add("maxThreads", "512");
component.getContext().getParameters().add("minThreads", "100");
component.getContext().getParameters().add("lowThreads", "145");
component.getContext().getParameters().add("maxQueued", "100");
component.getContext().getParameters().add("maxTotalConnections", "100");
component.getContext().getParameters().add("maxIoIdleTimeMs", "100");
component.getDefaultHost().attach("/orcamento2013", new ServerApp());
component.start();
Run Code Online (Sandbox Code Playgroud)

这些参数是本论坛中讨论的结果,也是我本人为了最大限度地提高效率而进行修改的结果.

来到应用程序,代码如下:

@Override
public synchronized Restlet createInboundRoot() {
    // Create a router Restlet that routes each call to a
    // new instance of HelloWorldResource.
    Router router = new Router(getContext());

    // Defines only one route
    router.attach("/{taxes}", ServerImpl.class);
    //router.attach("/acores/{taxes}", ServerImplAcores.class);

    System.out.println(router.getRoutes().size());

    OriginFilter originFilter = new OriginFilter(getContext());
    originFilter.setNext(router);

    return …
Run Code Online (Sandbox Code Playgroud)

restlet restlet-2.0

5
推荐指数
1
解决办法
1997
查看次数

标签 统计

restlet ×1

restlet-2.0 ×1