当前位置: 首页>>代码示例>>Java>>正文


Java HttpServletRequest.startAsync方法代码示例

本文整理汇总了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);
}
 
开发者ID:apache,项目名称:incubator-servicecomb-java-chassis,代码行数:17,代码来源:ServletRestDispatcher.java

示例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);
	}
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:20,代码来源:ServletServerHttpAsyncRequestControl.java

示例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.");
    }
}
 
开发者ID:sunmingshuai,项目名称:apache-tomcat-7.0.73-with-comment,代码行数:19,代码来源:AsyncStockServlet.java

示例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");
    }
}
 
开发者ID:liaokailin,项目名称:tomcat7,代码行数:17,代码来源:TestAsyncContextImpl.java

示例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);
}
 
开发者ID:PacktPublishing,项目名称:Spring-Security-Third-Edition,代码行数:27,代码来源:AsyncDispatcherServlet.java

示例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();
  });
}
 
开发者ID:ApptuitAI,项目名称:JInsight,代码行数:24,代码来源:AsyncServlet.java

示例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();
    }
}
 
开发者ID:sunmingshuai,项目名称:apache-tomcat-7.0.73-with-comment,代码行数:12,代码来源:TestErrorReportValve.java

示例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);
}
 
开发者ID:sunmingshuai,项目名称:apache-tomcat-7.0.73-with-comment,代码行数:15,代码来源:TestAsyncContextImpl.java


注:本文中的javax.servlet.http.HttpServletRequest.startAsync方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。