如何在异步处理中使用servlet asyncIO?

时间:2014-01-12 21:28:40

标签: java servlets asynchronous nio

我找不到任何关于如何使用servlet aysnc IO进行异步处理的示例。 具体来说,我想知道在将异步上下文提交到自定义线程池之前或之后,是否要将读取器和编写器listerner附加到servlet输入和输出流。

如果我们以this为例,我们应该在哪个部分代码request.getInputStream().setReadListener()?您可以使用示例here

查看此方法

1 个答案:

答案 0 :(得分:0)

  • 如果您首先将上下文提交给线程池,那么另一个线程将执行的第一个(也是唯一的?)事情是附加ReadListener
  • 如果在servlet中附加ReadListener,我不会看到自定义线程池将执行的操作,除非在读取请求主体之前有什么要做。 ReadListener将由容器线程调用。

因此,在开始阅读请求主体之前,是否需要完成一些工作。

  • 如果您可以将整个请求读入内存,则可以在读取整个请求后将请求提交给线程池。
  • 如果没有,您可以将请求的块提交给线程池,如果有必要的话。