public class ServletHttpHandlerAdapter extends Object implements Servlet
HttpHandler to an HttpServlet using Servlet Async support
and Servlet 3.1 non-blocking I/O.AbstractReactiveWebInitializer| Constructor and Description |
|---|
ServletHttpHandlerAdapter(HttpHandler httpHandler) |
| Modifier and Type | Method and Description |
|---|---|
protected org.springframework.http.server.reactive.ServletServerHttpRequest |
createRequest(HttpServletRequest request,
AsyncContext context) |
protected org.springframework.http.server.reactive.ServletServerHttpResponse |
createResponse(HttpServletResponse response,
AsyncContext context,
org.springframework.http.server.reactive.ServletServerHttpRequest request) |
void |
destroy()
Called by the servlet container to indicate to a servlet that the
servlet is being taken out of service.
|
int |
getBufferSize()
Return the configured input buffer size.
|
DataBufferFactory |
getDataBufferFactory() |
ServletConfig |
getServletConfig()
Returns a
ServletConfig object, which contains
initialization and startup parameters for this servlet. |
String |
getServletInfo()
Returns information about the servlet, such
as author, version, and copyright.
|
String |
getServletPath()
Return the Servlet path under which the Servlet is deployed by checking
the Servlet registration from
init(ServletConfig). |
void |
init(ServletConfig config)
Called by the servlet container to indicate to a servlet that the
servlet is being placed into service.
|
void |
service(ServletRequest request,
ServletResponse response)
Called by the servlet container to allow the servlet to respond to
a request.
|
void |
setBufferSize(int bufferSize)
Set the size of the input buffer used for reading in bytes.
|
void |
setDataBufferFactory(DataBufferFactory dataBufferFactory) |
public ServletHttpHandlerAdapter(HttpHandler httpHandler)
public void setBufferSize(int bufferSize)
By default this is set to 8192.
public int getBufferSize()
@Nullable public String getServletPath()
init(ServletConfig).null if this method is invoked
before the init(ServletConfig) Servlet container callback.public void setDataBufferFactory(DataBufferFactory dataBufferFactory)
public DataBufferFactory getDataBufferFactory()
public void init(ServletConfig config)
javax.servlet.ServletThe servlet container calls the init
method exactly once after instantiating the servlet.
The init method must complete successfully
before the servlet can receive any requests.
The servlet container cannot place the servlet into service
if the init method
ServletException
init in interface Servletconfig - a ServletConfig object
containing the servlet's
configuration and initialization parametersUnavailableException,
Servlet.getServletConfig()public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException
javax.servlet.ServletThis method is only called after the servlet's init()
method has completed successfully.
The status code of the response always should be set for a servlet that throws or sends an error.
Servlets typically run inside multithreaded servlet containers that can handle multiple requests concurrently. Developers must be aware to synchronize access to any shared resources such as files, network connections, and as well as the servlet's class and instance variables. More information on multithreaded programming in Java is available in the Java tutorial on multi-threaded programming.
service in interface Servletrequest - the ServletRequest object that contains
the client's requestresponse - the ServletResponse object that contains
the servlet's responseServletException - if an exception occurs that interferes
with the servlet's normal operationIOException - if an input or output exception occursprotected org.springframework.http.server.reactive.ServletServerHttpRequest createRequest(HttpServletRequest request, AsyncContext context) throws IOException, URISyntaxException
IOExceptionURISyntaxExceptionprotected org.springframework.http.server.reactive.ServletServerHttpResponse createResponse(HttpServletResponse response, AsyncContext context, org.springframework.http.server.reactive.ServletServerHttpRequest request) throws IOException
IOExceptionpublic String getServletInfo()
javax.servlet.ServletThe string that this method returns should be plain text and not markup of any kind (such as HTML, XML, etc.).
getServletInfo in interface ServletString containing servlet information@Nullable public ServletConfig getServletConfig()
javax.servlet.ServletServletConfig object, which contains
initialization and startup parameters for this servlet.
The ServletConfig object returned is the one
passed to the init method.
Implementations of this interface are responsible for storing the
ServletConfig object so that this
method can return it. The GenericServlet
class, which implements this interface, already does this.
getServletConfig in interface ServletServletConfig object
that initializes this servletServlet.init(javax.servlet.ServletConfig)public void destroy()
javax.servlet.Servletservice method have exited or after a timeout
period has passed. After the servlet container calls this
method, it will not call the service method again
on this servlet.
This method gives the servlet an opportunity to clean up any resources that are being held (for example, memory, file handles, threads) and make sure that any persistent state is synchronized with the servlet's current state in memory.