Class HttpServer
- java.lang.Object
-
- org.apache.hc.core5.http.impl.bootstrap.HttpServer
-
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
,ModalCloseable
public class HttpServer extends java.lang.Object implements ModalCloseable
HTTP/1.1 server side message exchange handler.- Since:
- 4.4
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static class
HttpServer.Status
-
Field Summary
Fields Modifier and Type Field Description private HttpConnectionFactory<? extends DefaultBHttpServerConnection>
connectionFactory
private ExceptionListener
exceptionListener
private HttpService
httpService
private java.net.InetAddress
ifAddress
private java.util.concurrent.ThreadPoolExecutor
listenerExecutorService
private int
port
private RequestListener
requestListener
private java.net.ServerSocket
serverSocket
private javax.net.ServerSocketFactory
serverSocketFactory
private SocketConfig
socketConfig
private Callback<javax.net.ssl.SSLParameters>
sslSetupHandler
private java.util.concurrent.atomic.AtomicReference<HttpServer.Status>
status
private WorkerPoolExecutor
workerExecutorService
private java.lang.ThreadGroup
workerThreads
-
Constructor Summary
Constructors Constructor Description HttpServer(int port, HttpService httpService, java.net.InetAddress ifAddress, SocketConfig socketConfig, javax.net.ServerSocketFactory serverSocketFactory, HttpConnectionFactory<? extends DefaultBHttpServerConnection> connectionFactory, Callback<javax.net.ssl.SSLParameters> sslSetupHandler, ExceptionListener exceptionListener)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
awaitTermination(TimeValue waitTime)
void
close()
void
close(CloseMode closeMode)
Closes this process or endpoint and releases any system resources associated with it.void
close(CloseMode closeMode, Timeout timeout)
Closes this process or endpoint and releases any system resources associated with it.java.net.InetAddress
getInetAddress()
int
getLocalPort()
void
initiateShutdown()
void
start()
void
stop()
-
-
-
Field Detail
-
port
private final int port
-
ifAddress
private final java.net.InetAddress ifAddress
-
socketConfig
private final SocketConfig socketConfig
-
serverSocketFactory
private final javax.net.ServerSocketFactory serverSocketFactory
-
httpService
private final HttpService httpService
-
connectionFactory
private final HttpConnectionFactory<? extends DefaultBHttpServerConnection> connectionFactory
-
sslSetupHandler
private final Callback<javax.net.ssl.SSLParameters> sslSetupHandler
-
exceptionListener
private final ExceptionListener exceptionListener
-
listenerExecutorService
private final java.util.concurrent.ThreadPoolExecutor listenerExecutorService
-
workerThreads
private final java.lang.ThreadGroup workerThreads
-
workerExecutorService
private final WorkerPoolExecutor workerExecutorService
-
status
private final java.util.concurrent.atomic.AtomicReference<HttpServer.Status> status
-
serverSocket
private volatile java.net.ServerSocket serverSocket
-
requestListener
private volatile RequestListener requestListener
-
-
Constructor Detail
-
HttpServer
@Internal public HttpServer(int port, HttpService httpService, java.net.InetAddress ifAddress, SocketConfig socketConfig, javax.net.ServerSocketFactory serverSocketFactory, HttpConnectionFactory<? extends DefaultBHttpServerConnection> connectionFactory, Callback<javax.net.ssl.SSLParameters> sslSetupHandler, ExceptionListener exceptionListener)
-
-
Method Detail
-
getInetAddress
public java.net.InetAddress getInetAddress()
-
getLocalPort
public int getLocalPort()
-
start
public void start() throws java.io.IOException
- Throws:
java.io.IOException
-
stop
public void stop()
-
initiateShutdown
public void initiateShutdown()
-
awaitTermination
public void awaitTermination(TimeValue waitTime) throws java.lang.InterruptedException
- Throws:
java.lang.InterruptedException
-
close
public void close(CloseMode closeMode)
Description copied from interface:ModalCloseable
Closes this process or endpoint and releases any system resources associated with it. If the endpoint or the process is already closed then invoking this method has no effect.- Specified by:
close
in interfaceModalCloseable
- Parameters:
closeMode
- How to close the receiver.
-
close
public void close(CloseMode closeMode, Timeout timeout)
Closes this process or endpoint and releases any system resources associated with it. If the endpoint or the process is already closed then invoking this method has no effect.- Parameters:
closeMode
- How to close the receiver.timeout
- How long to wait for the HttpServer to close gracefully.- Since:
- 5.2
-
close
public void close()
- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
-
-