Tag: 彗星

完成HttpServletResponse但继续处理

我的情况似乎符合Async Servlet 3.0 / Comet情况,但我需要做的就是在接受传入参数后返回200响应代码(或其他)。 有没有办法让HttpServlet完成http请求/响应握手并继续处理? 就像是… doPost( req, response ) { // verify input params… response.setStatus( SC_OK ); response.close(); // execute long query } 编辑:看看javax.servlet包 – 我的问题的正确措辞是 我如何提交回复? 在Servlet.isCommitted()中

如何从大气中的其他框架(彗星)触发通知?

基本上我已经阅读了一些样本,但所有样本都包含在一个servlet中。 例如:使用doGet建立长轮询连接,然后使用doPost触发事件以通知所有挂起的连接。 这是我的问题:我在spring mvc中有其他的web动作编程,在spring mvc控制器中用户通过/ message / post发布消息,我怎样才能使这个动作触发大气处理程序通知被挂起的连接?

tomcat或glassfish作为彗星服务器?

它们都是免费的,但我认为玻璃鱼有一些限制,或者当你达到某个用户(彗星)时,你必须支付? 那是对的吗? 若是真的,你能用tomcat作为彗星服务器吗? 如果没有,那么哪些免费的彗星服务器支持长轮询和iframe?

Tomcat 7上的Servlet 3异步任务

我正在尝试使用基于其异步支持的Servlet 3.0和Comet模式实现简单聊天。 我受到这篇文章的启发: http : //www.javaworld.com/javaworld/jw-02-2009/jw-02-servlet3.html?page = 3 我的servlet看起来像这样。 @WebServlet(name=”chatServlet”, urlPatterns={“/ChatServlet”}, asyncSupported=true) public class ChatServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { AsyncContext aCtx = request.startAsync(request, response); ServletContext appScope = request.getServletContext(); List watchers = (List) appScope.getAttribute(“watchers”); watchers.add(aCtx); //register the watcher } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, […]

将通知推送到客户端

我使用Struts,Spring和Hibernate构建了我的项目。 我正在使用Tomcat作为服务器。 现在,我想在我的Web应用程序中实现推送通知,以执行诸如根据数据库中的新数据更新视图层上的表的任务,或者在发生特定条件时显示通知。 我该如何实现这个,我应该使用哪些工具? 也许彗星或类似的东西? 如果你有教程的链接,我会觉得很有帮助。 我也想知道这个(推送)是否与消息传递有关? 我试过这个链接,但它看起来像拉。 我的情况就像一个聊天应用程序 – 如果有人登录,其他成员将收到通知。 我对如何实现这一点很困惑。

Tomcat 7异步处理失败 – 只有一个请求同时处理

我试图使用Servlet API 3中定义的异步处理实现COMET聊天。它无法正常工作 – 聊天被阻止,所以我创建了调试servlet来仅测试异步部分。 这是我的doGet方法: @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { log.debug(“doGet called”); int timeout = 30 + RandomUtils.nextInt(60); String message = RandomStringUtils.randomAlphanumeric(50 + RandomUtils.nextInt(250)); response.setHeader(“Access-Control-Allow-Origin”, “*”); final AsyncContext context = request.startAsync(); synchronized(items) { items.add(new RequestItem(context, message, timeout)); } log.debug(“doGet created request and finished”); } 我正在将请求项放入队列中,并且有一个线程正在运行,它将在指定的超时后获取项目并向AsyncContext发送响应,打印有关它的消息。 问题是,线程被阻塞,直到AsyncContext得到响应。 这是在浏览器中请求4页加载后在我的日志中可见的内容: 2011-12-08 […]

Java HTTP推送(消息传递)的最佳解决方案

我们希望将数据从服务器推送到客户端,但只能使用HTTP(端口80)。 消息传递的最佳解决方案是什么? 一个想法是Comet 。 是否有其他想法或框架可以提供JMS over HTTP。 (是的,ActiveMQ也支持它,但是哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇。