List of usage examples for org.apache.http.impl.bootstrap HttpServer shutdown
public void shutdown(final long gracePeriod, final TimeUnit timeUnit)
From source file:onl.area51.httpd.HttpServerBuilder.java
static HttpServerBuilder builder() { return new HttpServerBuilder() { private final ServerBootstrap sb = ServerBootstrap.bootstrap(); private long gracePeriod = 5; private TimeUnit gracePeriodUnit = TimeUnit.MINUTES; private HttpRequestHandlerBuilder globalHandler; @Override// w w w. java 2 s . c om public HttpServerBuilder shutdown(long gracePeriod, TimeUnit gracePeriodUnit) { if (gracePeriod < 1 || gracePeriodUnit == null) { throw new IllegalArgumentException("Invalid GracePeriod"); } this.gracePeriod = gracePeriod; this.gracePeriodUnit = gracePeriodUnit; return this; } @Override public HttpServerBuilder setListenerPort(int listenerPort) { sb.setListenerPort(listenerPort); return this; } @Override public HttpServerBuilder setLocalAddress(InetAddress localAddress) { sb.setLocalAddress(localAddress); return this; } @Override public HttpServerBuilder setSocketConfig(SocketConfig socketConfig) { sb.setSocketConfig(socketConfig); return this; } @Override public HttpServerBuilder setConnectionConfig(ConnectionConfig connectionConfig) { sb.setConnectionConfig(connectionConfig); return this; } @Override public HttpServerBuilder setHttpProcessor(HttpProcessor httpProcessor) { sb.setHttpProcessor(httpProcessor); return this; } @Override public HttpServerBuilder addInterceptorFirst(HttpResponseInterceptor itcp) { sb.addInterceptorFirst(itcp); return this; } @Override public HttpServerBuilder addInterceptorLast(HttpResponseInterceptor itcp) { sb.addInterceptorLast(itcp); return this; } @Override public HttpServerBuilder addInterceptorFirst(HttpRequestInterceptor itcp) { sb.addInterceptorFirst(itcp); return this; } @Override public HttpServerBuilder addInterceptorLast(HttpRequestInterceptor itcp) { sb.addInterceptorLast(itcp); return this; } @Override public HttpServerBuilder setServerInfo(String serverInfo) { sb.setServerInfo(serverInfo); return this; } @Override public HttpServerBuilder setConnectionReuseStrategy(ConnectionReuseStrategy connStrategy) { sb.setConnectionReuseStrategy(connStrategy); return this; } @Override public HttpServerBuilder setResponseFactory(HttpResponseFactory responseFactory) { sb.setResponseFactory(responseFactory); return this; } @Override public HttpServerBuilder setHandlerMapper(HttpRequestHandlerMapper handlerMapper) { sb.setHandlerMapper(handlerMapper); return this; } @Override public HttpServerBuilder registerHandler(String pattern, HttpRequestHandler handler) { sb.registerHandler(pattern, handler); return this; } @Override public HttpServerBuilder setExpectationVerifier(HttpExpectationVerifier expectationVerifier) { sb.setExpectationVerifier(expectationVerifier); return this; } @Override public HttpServerBuilder setConnectionFactory( HttpConnectionFactory<? extends DefaultBHttpServerConnection> connectionFactory) { sb.setConnectionFactory(connectionFactory); return this; } @Override public HttpServerBuilder setSslSetupHandler(SSLServerSetupHandler sslSetupHandler) { sb.setSslSetupHandler(sslSetupHandler); return this; } @Override public HttpServerBuilder setServerSocketFactory(ServerSocketFactory serverSocketFactory) { sb.setServerSocketFactory(serverSocketFactory); return this; } @Override public HttpServerBuilder setSslContext(SSLContext sslContext) { sb.setSslContext(sslContext); return this; } @Override public HttpServerBuilder setExceptionLogger(ExceptionLogger exceptionLogger, boolean filter) { sb.setExceptionLogger(filter ? ex -> { if (!(ex instanceof SocketTimeoutException) && !(ex instanceof ConnectionClosedException) && !(ex instanceof SocketException)) { exceptionLogger.log(ex); } } : exceptionLogger); return this; } @Override public HttpRequestHandlerBuilder getGlobalHandlerBuilder() { if (globalHandler == null) { globalHandler = HttpRequestHandlerBuilder.create(); } return globalHandler; } @Override public HttpServer build() { if (globalHandler != null) { sb.registerHandler("/*", globalHandler.build()); } org.apache.http.impl.bootstrap.HttpServer server = sb.create(); return new HttpServer() { @Override public void start() throws IOException { server.start(); } @Override public void stop() { server.shutdown(gracePeriod, gracePeriodUnit); } }; } }; }
From source file:org.jenkinsci.test.acceptance.update_center.MockUpdateCenter.java
@Override public void close() throws IOException { if (original != null) { LOGGER.log(Level.INFO,/*from ww w . ja va2 s . c om*/ () -> "stopping MockUpdateCenter on http://" + server.getInetAddress().getHostAddress() + ":" + server.getLocalPort() + "/update-center.json"); HttpServer s = server; server = null; // make sure this.server holds a server that is guaranteed to be up s.shutdown(5, TimeUnit.SECONDS); /* TODO only if RemoteController etc.: injector.getInstance(Jenkins.class).runScript("DownloadService.signatureCheck = true; Jenkins.instance.updateCenter.sites.replaceBy([new UpdateSite(UpdateCenter.ID_DEFAULT, '%s')])", original); */ original = null; } }