我有一个在Grizzly Web服务器上运行的Java应用程序。我已经调用if ((i % 3) === 0 && (i % 5) === 0) {
console.log("FizzBuzz");
}
并在后台线程中运行请求。这很有用。这是一些示例代码。
Response.suspend()
对于一种请求,处理可能需要一段时间。我想定期将HTTP状态代码import org.glassfish.grizzly.http.server.Request;
import org.glassfish.grizzly.http.server.Response;
class Handler extends org.glassfish.grizzly.http.server.HttpHandler
{
@Override
public void service(Request request, Response response)
{
response.suspend();
// Execute the request in a background thread
}
private static void execute(Request request, Response response)
{
// Process the request
response.setStatus(200);
// Populate the response headers and body
response.resume();
}
}
发送回客户端,以便客户端不会超时。我该怎么做呢?我意识到我可能必须运行定期计划任务才能发送102 Processing
。这不是问题。如何与102 Processing
对象进行交互?
我正在处理请求时尝试以下操作。这会将102 HTTP状态代码发送回客户端。但是,当实际响应准备好发送给客户端时,会抛出Response
,因为IllegalStateException
为真。
Response.isCommitted()