The request associated with the AsyncContext has already completed processing

Posted 梦中彩虹

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了The request associated with the AsyncContext has already completed processing相关的知识,希望对你有一定的参考价值。

Some time ago there was a problem with the servlet3.0, is in servlet in asynchronous processing data, due to time outs, dry method terminates, but the back throws, anomalies are as follows:

java.lang.IllegalStateException: The request associated with the AsyncContext has already completed processing.  
     at org.apache.catalina.core.AsyncContextImpl.check(AsyncContextImpl.java:521)  
     at org.apache.catalina.core.AsyncContextImpl.getResponse(AsyncContextImpl.java:245)  

Appeared and the reason for this is because asynchronous processing time servlet the default is 10 seconds, apparently because the data is too large, resulting in time out.

The solution is simple only in the doPost method of servlet add a sentence

asyncContext.setTimeout(900000000);

For asynchronous loading manual setting the timeout can be, all the code as follows:

public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        request.setCharacterEncoding("UTF-8");
        response.setContentType(getServletContext().getInitParameter("content"));	
		//In asynchronous mode, call the business processing threads to process business
        //Servlet will not be blocked, but directly to the execution
        //Business processing after the completion of the response by the AsyncContext management
        AsyncContext asyncContext = request.startAsync();
        asyncContext.setTimeout(900000000);
        ProductHandleThread productHandleThread = new ProductHandleThread(asyncContext,request.getSession());
        asyncContext.start(productHandleThread);
	}

  

以上是关于The request associated with the AsyncContext has already completed processing的主要内容,如果未能解决你的问题,请参考以下文章

Linq------错误: Unable to determine the principal end of an association between the types

a different object with the same identifier value was already associated with the session

BottomSheetBehavior 之 java.lang.IllegalArgumentException: The view is not associated with BottomShe

解决a different object with the same identifier value was already associated with the session错误

关于An association from the table refers to an unmapped class

Failed to run the WC DB work queue associated with 错误的解决