gpt4 book ai didi

java - jetty 7 延续

转载 作者:行者123 更新时间:2023-11-30 09:48:48 30 4
gpt4 key购买 nike

我正在使用 jetty-7.4.1.v20110513 和 servlet-api-2.5

我尝试在以下 servlet 中使用连缀。

 import java.io.*;
import java.util.*;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.eclipse.jetty.continuation.*;



public class cs extends HttpServlet {

public void service(HttpServletRequest req, HttpServletResponse res)
throws java.io.IOException {

String reqId = req.getParameter("id");

Continuation cc = ContinuationSupport.getContinuation(req);

res.setContentType("text/plain");
res.getWriter().println("Request: "+reqId+"\tstart:\t"+new Date());
res.getWriter().flush();

cc.setTimeout(2000);
cc.suspend();

res.getWriter().println("Request: "+reqId+"\tend:\t"+new Date());
cc.complete();
}
}

我期望有 2 秒的延迟,但是当我从浏览器运行 servlet 时,我得到如下输出,没有任何延迟:

Request: null   start:  Sat May 21 15:25:02 IST 2011
Request: null end: Sat May 21 15:25:02 IST 2011

最佳答案

我想您正在阅读这篇 tutorial .使用以下方法之一可以实现 2 秒的延迟:

  • 在第二个res.getWriter().println()之前添加Thread.sleep(2000)

  • 或者删除 Continuation.complete() 调用,这将使继续等待 Continuation.setTimeout() 中指定的最长时间。现在发生的事情是您立即通知您的“计算”已完成(通过调用cc.complete())

关于java - jetty 7 延续,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6085848/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com