本文整理匯總了Java中javax.servlet.http.HttpServletRequest.startAsync方法的典型用法代碼示例。如果您正苦於以下問題:Java HttpServletRequest.startAsync方法的具體用法?Java HttpServletRequest.startAsync怎麽用?Java HttpServletRequest.startAsync使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類javax.servlet.http.HttpServletRequest
的用法示例。
在下文中一共展示了HttpServletRequest.startAsync方法的11個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: service
import javax.servlet.http.HttpServletRequest; //導入方法依賴的package包/類
public void service(HttpServletRequest request, HttpServletResponse response) {
if (transport == null) {
transport = CseContext.getInstance().getTransportManager().findTransport(Const.RESTFUL);
}
// 異步場景
final AsyncContext asyncCtx = request.startAsync();
asyncCtx.addListener(restAsyncListener);
asyncCtx.setTimeout(ServletConfig.getServerTimeout());
HttpServletRequestEx requestEx = new StandardHttpServletRequestEx(request);
HttpServletResponseEx responseEx = new StandardHttpServletResponseEx(response);
RestServletProducerInvocation restProducerInvocation = new RestServletProducerInvocation();
restProducerInvocation.invoke(transport, requestEx, responseEx, httpServerFilters);
}
示例2: processRequest
import javax.servlet.http.HttpServletRequest; //導入方法依賴的package包/類
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
try (PrintWriter output = response.getWriter()) {
output.println("<html>");
output.println("<head>");
output.println("<title>Reading asynchronously</title>");
output.println("</head>");
output.println("<body>");
output.println("<h1>Reading asynchronously</h1>");
AsyncContext context = request.startAsync();
ServletInputStream input = request.getInputStream();
input.setReadListener(new ReadingListener(input, context));
output.println("</body>");
output.println("</html>");
}
}
開發者ID:PacktPublishing,項目名稱:Mastering-Java-EE-Development-with-WildFly,代碼行數:20,代碼來源:ReadingServlet.java
示例3: start
import javax.servlet.http.HttpServletRequest; //導入方法依賴的package包/類
@Override
public void start(long timeout) {
Assert.state(!isCompleted(), "Async processing has already completed");
if (isStarted()) {
return;
}
HttpServletRequest servletRequest = this.request.getServletRequest();
HttpServletResponse servletResponse = this.response.getServletResponse();
this.asyncContext = servletRequest.startAsync(servletRequest, servletResponse);
this.asyncContext.addListener(this);
if (timeout != NO_TIMEOUT_VALUE) {
this.asyncContext.setTimeout(timeout);
}
}
示例4: service
import javax.servlet.http.HttpServletRequest; //導入方法依賴的package包/類
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
if (req.isAsyncStarted()) {
req.getAsyncContext().complete();
} else if (req.isAsyncSupported()) {
AsyncContext actx = req.startAsync();
actx.addListener(this);
resp.setContentType("text/plain");
clients.add(actx);
if (clientcount.incrementAndGet()==1) {
ticker.addTickListener(this);
}
} else {
new Exception("Async Not Supported").printStackTrace();
resp.sendError(400,"Async is not supported.");
}
}
示例5: doPut
import javax.servlet.http.HttpServletRequest; //導入方法依賴的package包/類
@Override
protected void doPut(HttpServletRequest req, final HttpServletResponse resp)
throws ServletException, IOException {
final AsyncContext ac = req.startAsync();
ac.start(new Runnable() {
@Override
public void run() {
resp.setContentType("text/plain");
resp.setCharacterEncoding("UTF-8");
try {
resp.getWriter().print("OK");
} catch (IOException e) {
// Should never happen. Test will fail if it does.
}
ac.complete();
}
});
}
開發者ID:sunmingshuai,項目名稱:apache-tomcat-7.0.73-with-comment,代碼行數:19,代碼來源:TestAbstractHttp11Processor.java
示例6: doGet
import javax.servlet.http.HttpServletRequest; //導入方法依賴的package包/類
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
if (req.isAsyncSupported()) {
TestAsyncContextImpl.track("TimeoutServletGet-");
final AsyncContext ac = req.startAsync();
ac.setTimeout(ASYNC_TIMEOUT);
if (completeOnTimeout != null) {
ac.addListener(new TrackingListener(false,
completeOnTimeout.booleanValue(), dispatchUrl));
}
} else {
resp.getWriter().print("FAIL: Async unsupported");
}
}
示例7: doDispatch
import javax.servlet.http.HttpServletRequest; //導入方法依賴的package包/類
@Override
protected void doDispatch(final HttpServletRequest request, final HttpServletResponse response) throws Exception {
final AsyncContext ac = request.startAsync(request, response);
ac.setTimeout(TIME_OUT);
// FIXME: convert to Lambda
FutureTask task = new FutureTask(new Runnable() {
@Override
public void run() {
try {
logger.debug("Dispatching request " + request);
AsyncDispatcherServlet.super.doDispatch(request, response);
logger.debug("doDispatch returned from processing request " + request);
ac.complete();
} catch (Exception ex) {
logger.error("Error in async request", ex);
}
}
}, null);
ac.addListener(new AsyncDispatcherServletListener(task));
exececutor.execute(task);
}
示例8: doGet
import javax.servlet.http.HttpServletRequest; //導入方法依賴的package包/類
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
final String uuid = request.getParameter(UUID_PARAM);
final AsyncContext acontext = request.startAsync();
acontext.start(() -> {
HttpServletResponse httpServletResponse = (HttpServletResponse) acontext.getResponse();
try {
System.out.println("Sleeping");
Thread.sleep(5000);
System.out.println("DONE Sleeping");
httpServletResponse.getOutputStream().write(uuid.getBytes());
} catch (InterruptedException | IOException | RuntimeException e) {
try {
httpServletResponse.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, e.toString());
} catch (IOException e1) {
e1.printStackTrace();
}
}
System.out.println("completing");
acontext.complete();
});
}
示例9: doGet
import javax.servlet.http.HttpServletRequest; //導入方法依賴的package包/類
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// Only set the status on the first call (the dispatch will trigger
// another call to this Servlet)
if (resp.getStatus() != HttpServletResponse.SC_BAD_REQUEST) {
resp.setStatus(HttpServletResponse.SC_BAD_REQUEST);
AsyncContext ac = req.startAsync();
ac.dispatch();
}
}
示例10: processRequest
import javax.servlet.http.HttpServletRequest; //導入方法依賴的package包/類
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
AsyncContext context = request.startAsync();
ServletOutputStream output = response.getOutputStream();
output.setWriteListener(new WritingListener(output, context));
}
開發者ID:PacktPublishing,項目名稱:Mastering-Java-EE-Development-with-WildFly,代碼行數:9,代碼來源:WritingServlet.java
示例11: doGet
import javax.servlet.http.HttpServletRequest; //導入方法依賴的package包/類
@Override
protected void doGet(final HttpServletRequest req,
final HttpServletResponse resp)
throws ServletException, IOException {
String echo = req.getParameter("echo");
AsyncContext actxt = req.startAsync();
TestAsyncContextImpl.track("OK");
if (echo != null) {
TestAsyncContextImpl.track("-" + echo);
}
// Speed up the test by reducing the timeout
actxt.setTimeout(ASYNC_TIMEOUT);
}