Example usage for org.apache.http.impl.nio.reactor IOReactorConfig setSoKeepalive

List of usage examples for org.apache.http.impl.nio.reactor IOReactorConfig setSoKeepalive

Introduction

In this page you can find the example usage for org.apache.http.impl.nio.reactor IOReactorConfig setSoKeepalive.

Prototype

@Deprecated
public void setSoKeepalive(final boolean soKeepAlive) 

Source Link

Usage

From source file:com.aptana.webserver.internal.core.builtin.LocalWebServer.java

private void runServer(InetSocketAddress socketAddress, HttpAsyncRequestHandler httpRequestHandler) {
    HttpParams params = new BasicHttpParams();
    params.setIntParameter(CoreConnectionPNames.SO_TIMEOUT, SOCKET_TIMEOUT)
            .setBooleanParameter(CoreConnectionPNames.STALE_CONNECTION_CHECK, false)
            .setIntParameter(CoreConnectionPNames.SOCKET_BUFFER_SIZE, SOCKET_BUFFER_SIZE)
            .setBooleanParameter(CoreConnectionPNames.TCP_NODELAY, true)
            .setParameter(CoreProtocolPNames.ORIGIN_SERVER,
                    "HttpComponents/" + EclipseUtil.getPluginVersion("org.apache.httpcomponents.httpcore")); //$NON-NLS-1$ //$NON-NLS-2$

    BasicHttpProcessor httpProcessor = new BasicHttpProcessor();
    httpProcessor.addInterceptor(new ResponseDate());
    httpProcessor.addInterceptor(new ResponseServer());
    httpProcessor.addInterceptor(new ResponseContent());
    httpProcessor.addInterceptor(new ResponseConnControl());

    HttpAsyncRequestHandlerRegistry handlerRegistry = new HttpAsyncRequestHandlerRegistry();
    handlerRegistry.register("*", httpRequestHandler); //$NON-NLS-1$

    HttpAsyncService serviceHandler = new HttpAsyncService(httpProcessor, new DefaultConnectionReuseStrategy(),
            handlerRegistry, params);/*from www  . ja v  a  2 s  . co  m*/
    // serviceHandler.setEventListener(new LocalWebServerLogger());

    IOReactorConfig config = new IOReactorConfig();
    config.setIoThreadCount(WORKER_COUNT);
    config.setConnectTimeout(SOCKET_TIMEOUT);
    config.setTcpNoDelay(true);
    config.setSoKeepalive(true);

    DefaultHttpServerIODispatch eventDispatch = new DefaultHttpServerIODispatch(serviceHandler, params);
    try {
        reactor = new DefaultListeningIOReactor(config);
        reactor.listen(socketAddress);
        reactor.execute(eventDispatch);
    } catch (InterruptedIOException e) {
        return;
    } catch (IOReactorException e) {
        IdeLog.logWarning(WebServerCorePlugin.getDefault(), e);
    } catch (IOException e) {
        IdeLog.logError(WebServerCorePlugin.getDefault(), e);
    }
}