- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
虽然 Servlet 3.0 规范有 request.startAsync() 和 asyncContext.start(),为什么它没有提供 asyncContext.stop() 或 asyncContext.cancel() 来在服务器端启动必要的清理?
请在其他 question 的上下文中查看此内容了解我来自哪里。
在这种情况下,如果我有办法清理服务器端(servlet 容器之类的东西,比如 AsyncListeners),而不是必须调用 asyncContext.complete() ,它可能会尝试并将响应发送回客户端,这才有意义。不是吗?
最佳答案
在这种情况下,调用 1 仍然卡在那里,等待调用 2 进来并想要终止它时的响应。在这种情况下,为什么您不想在调用 1 上调用 complete()
,从而完成该调用以便客户端停止等待?在这种情况下,您可能希望将状态代码设置为 200 以外的值,但在任何情况下,complete
似乎都是最佳选择,因为它将控制权返回给原始调用者并执行任何操作请求相关清理工作。
当发生超时(这是一个错误)时,容器会调用 complete
(我想象的是一个非 200 响应代码)。您描述的场景类似于超时(尽管是强制超时),所以为什么不做容器所做的同样的事情。只需在调用 complete
之前调用类似的代码即可:
ac.getResponse().setStatus(500);
任何人都可以向输出流写入一些内容来描述导致此错误的原因。
关于java - 为什么没有 asyncContext.cancel(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16328794/
我有点困惑 servlet 容器如何在应用程序取消部署阶段或只是超时终止 AsyncContext。例如应用程序开发人员有以下代码片段: @WebServlet(name = "MyServlet",
我们有一个带有仪表板的 Web 应用程序,它不断地轮询更新。在服务器端,更新请求是异步的,因此我们可以通过监听器/通知系统在发生更新时做出响应。 我们看到的问题是,当其中一个轮询请求得到响应时,在某些
关于:AsyncContextThread https://github.com/StephenCleary/AsyncEx/wiki/AsyncContext https://github.com/
首先我想说英语不是我的母语,所以如果我犯了一些明显的错误或者有些地方不够清晰,请原谅。问题: 最近我被转移到一个新项目,我们正在开发一个 Java EE 应用程序,该应用程序通过 Jersey+Hib
虽然 Servlet 3.0 规范有 request.startAsync() 和 asyncContext.start(),为什么它没有提供 asyncContext.stop() 或 asyncC
我正在使用 Spring 的 OncePerRequestFilter 覆盖 shouldNotFilterAsyncDispatch 方法以返回 false。这样它就可以处理异步请求。在过滤器中,我
我目前正在学习网站编程,准确地说是使用 javascript 的 java servlet,我刚刚学习了如何在单个 servlet 中使用 AsyncContext。例如,我想知道是否可以在 serv
我关注了this教程并实现了一个简单的聊天应用程序。我正在最新的 Mozilla Firefox 和 Google Chrome 浏览器中对其进行测试。 我主要担心的是消息交换似乎不是实时发生的。即使
我在我的控制台应用程序中调用一个异步方法。我不希望应用程序在启动后不久退出,即在等待任务完成之前退出。看来我可以这样做: internal static void Main(string[] args
我几乎可以肯定,但最好澄清一下:如果 Runnable 在 servlet 请求的 AsyncContext 中启动,那么代码是在run方法线程安全吗?我想是的。因为每个线程都有一个新的 Runnab
我正在使用 Servlet 3.0 的 javax.servlet.AsyncContext 实现服务器发送的事件界面。 但是我不明白我应该如何处理 I/O 错误,例如 peer disconnect
我创建了一个 servlet 3.0 来探索异步请求处理: @WebServlet(name="MyTest", urlPatterns={"/MyTest"}, asyncSupported=tru
AsyncContext 的文档有这个同步工作的例子(只是稍微修改,但仍然有效): #include "napi.h" void MakeCallbackWithAsyncContext(const
当我们使用 servlet3 规范中提到的 AsyncContext 时,http 连接保持打开状态多长时间?我的一段代码是 final AsyncContext asyncContext = htt
我需要 Web/JavaEE 容器中的一个线程来从外部源获取信息并在同一 JVM 中完成相应的 AsyncContext 对象。 我希望有一个零延迟的解决方案,因此排除了定期轮询或计时器。 我可以启动
我点击了链接 http://wiki.eclipse.org/Jetty/Tutorial/Jetty_HelloWorld教程(使用 Eclipse)。并查看了现有的 stackoverflow h
我正在使用 intellij idea 终极版 12..4 Grails 2.2.0 , buildConfig.groovy 文件中的 grails.servlet.version = "2.5"
我正在尝试遵循http://wiki.eclipse.org/Jetty/Tutorial/Jetty_HelloWorld教程(使用 Eclipse)。该项目编译良好。但是,当我访问本地主机服务器时
我已成功运行 Java servlet 应用程序测试,该应用程序在 Amazon AWS Elastic BeansTalk 提供的基本示例应用程序上运行。 Java-Gradle-Jetty 平台。
以此处回答的几个示例和问题为主导(主要是 http://www.javaworld.com/javaworld/jw-02-2009/jw-02-servlet3.html?page=3 ),我想让服
我是一名优秀的程序员,十分优秀!