草庐IT

AsyncContext

全部标签

java - 如何创建多个异步 java 过滤器?

我正在尝试创建一个具有多个异步过滤器的Java应用程序,但似乎无法让它们很好地协同工作。我认为主要问题出在run()方法中,我不知道如何将请求传递到链中的下一个过滤器。我试过chain.doFilter(request,response),但是好像不行,还有dispatch()和complete()API在AsyncContext上可用,但那些似乎关闭了整个AsyncContext。似乎必须有另一种方法才能让它发挥作用。下面是我正在使用的过滤器的一个片段-第二个过滤器看起来几乎相同。注意:我正在添加header以尝试找出正在调用的内容。@OverridepublicvoiddoFilt

java - ClassNotFoundException : javax. servlet.AsyncContext in Jetty hello world in eclipse

我点击了链接http://wiki.eclipse.org/Jetty/Tutorial/Jetty_HelloWorld教程(使用Eclipse)。并查看了现有的stackoverflowhere我正在使用聚合jetty8.0.0.jar和8.1.3.jar以及servlet-api-2.5.jar。我已将这2个jar添加到类路径中,还包括slf4j-simple-1.6.4.jar。我还在努力`2012-05-2315:23:06.813:WARN:oeji.nio:java.lang.NoClassDefFoundError:javax/servlet/AsyncContexta

java - 使用 HTML5 服务器事件和 Java Servlet 时如何防止 net::ERR_INCOMPLETE_CHUNKED_ENCODING?

我刚开始玩弄服务器事件,我遇到了一条我想了解的chrome错误消息。我在网上搜索得很快,但没有找到解释,所以我想我可能做错了什么。在服务器端,我有一个简单的servlet,它接受请求并创建一个虚拟事件创建者任务:privateExecutorexecutor=Executors.newSingleThreadExecutor();publicvoiddoGet(finalHttpServletRequestrequest,finalHttpServletResponseresponse){finalAsyncContextasynCtx=request.startAsync(reque

AsyncContext优雅实现HTTP长轮询接口

一、背景接到一个需求,实现方案时需要提供一个HTTP接口,接口需要hold住5-8秒,轮询查询数据库,一旦数据库中值有变化,取出变化的值进行处理,处理完成后返回响应。这不就是长轮询吗,如何优雅的实现呢?二、方案设计在Spring中,AsyncContext是用于支持异步处理的一个重要的特性。它允许我们在servlet请求处理过程中,将长时间运行的操作放在一个单独的线程中执行,而不会阻塞其他请求的处理。AsyncContext在以下两种情况下特别有用:长时间运行的操作:当我们需要执行一些耗时的操作,例如网络请求、数据库查询或其他I/O操作时,通过将这些操作放在一个新的线程中,可以避免阻塞serv

java - IllegalStateException : Not supported on AsyncContext. startAsync(请求,资源)

我创建了一个servlet3.0来探索异步请求处理:@WebServlet(name="MyTest",urlPatterns={"/MyTest"},asyncSupported=true)publicclassMyTestextendsHttpServlet{@OverridepublicvoiddoGet(HttpServletRequestreq,HttpServletResponseres)throwsServletException,IOException{AsyncContexttmp=req.startAsync(req,res);...}}但是当调用.startAsy

java - AsyncContext 响应与原始传入请求不匹配?

我们有一个带有仪表板的Web应用程序,它不断地轮询更新。在服务器端,更新请求是异步的,因此我们可以通过监听器/通知系统在发生更新时做出响应。我们看到的问题是,当其中一个轮询请求得到响应时,在某些情况下,它可能会写入请求/响应以获取用户点击的链接。异步更新的传入请求如下所示:@RequestMapping("/getDashboardStatus.json")publicvoidgetDashboardStatus(HttpServletRequestrequest,...){finalAsyncContextasyncContext=request.startAsync();//10s

java - AsyncContext 响应与原始传入请求不匹配?

我们有一个带有仪表板的Web应用程序,它不断地轮询更新。在服务器端,更新请求是异步的,因此我们可以通过监听器/通知系统在发生更新时做出响应。我们看到的问题是,当其中一个轮询请求得到响应时,在某些情况下,它可能会写入请求/响应以获取用户点击的链接。异步更新的传入请求如下所示:@RequestMapping("/getDashboardStatus.json")publicvoidgetDashboardStatus(HttpServletRequestrequest,...){finalAsyncContextasyncContext=request.startAsync();//10s

c# - 为什么在控制台应用程序中使用 async/await 时需要 AsyncContext?

我在我的控制台应用程序中调用一个异步方法。我不希望应用程序在启动后不久退出,即在等待任务完成之前退出。看来我可以这样做:internalstaticvoidMain(string[]args){try{Task.WaitAll(DoThisAsync());}catch(Exceptionex){Console.Error.WriteLine(ex);throw;}}internalstaticasyncTaskDoThisAsync(){//...}但根据StephenCleary'sarticle似乎我不能那样做,而是应该为异步创建某种上下文以在它完成时返回(例如AsyncCont