gpt4 book ai didi

带有异步 servlet 3.0 的 GWT requestbuilder

转载 作者:行者123 更新时间:2023-12-01 23:26:15 24 4
gpt4 key购买 nike

我有一个示例项目 StockWatcher 使用 requestbuilder 与 servlet ( this example ) 通信。我想让 servlet 异步。我已将以下行添加到 doGet 方法中:

final AsyncContext ac = request.startAsync();  
ac.setTimeout(1 * 60 * 1000);
ac.addListener(new AsyncListener() {

@Override
public void onError(AsyncEvent arg0) throws IOException {
System.out.println("onError");
}

public void onComplete(AsyncEvent event) throws IOException {
System.out.println("onComplete");
queue.remove(ac);
}

public void onTimeout(AsyncEvent event) throws IOException {
System.out.println("onTimeout");
queue.remove(ac);
}

@Override
public void onStartAsync(AsyncEvent arg0) throws IOException {
System.out.println("onStartAsync");

}
});
queue.add(ac);

添加异步注解:@WebServlet(asyncSupported=true)并更改了 doGet 方法的其余部分:

PrintWriter out = ac.getResponse().getWriter();
out.println("Something");
out.flush();

现在没有任何返回。我做错了什么?必须在客户端更改某些内容吗? Glassfish 3 没有显示任何错误。

最佳答案

你没有做错任何事。 GWT 使用 servlet 2.5,如果您尝试异步操作,它会阻塞。尽管我使用 Vaadin(使用 GWT),但我现在遇到了同样的问题。我在该主题上找到的链接:http://comments.gmane.org/gmane.org.google.gwt/48496

有一个页面声称已经解决了问题:http://blog.orange11.nl/2011/02/25/getting-gwt-to-work-with-servlet-3-async-requests/

我还没有能够尝试这个。

关于带有异步 servlet 3.0 的 GWT requestbuilder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2772709/

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