2012-07-31 139 views
0

我有一个传统的servlet,(符合Oracle/Sun定义的servlet API)。它有时会收到来自数百个用户的大量请求,并且在某些情况下,任何HTTP客户端都可以快速连续发起多个请求。有时,当接收到第二个请求并且已经开始处理时,servlet尚未完成处理来自HTTP客户端的第一个请求。所以,我希望能够通过在来自同一个HTTP客户端并按顺序处理它们时将它们排队来管理请求的处理。从同一个HTTP客户端收到请求时,这只是一个问题。排队来自同一个HTTP客户端的servlet请求?

我听说FilterChains,但我不确定这是否适合这种情况。排队来自用户的多个请求的最合适的方式是什么?

+0

我想你遇到了这个可伸缩性问题,并试图用你的代码解决这个问题。我建议你看一下NIO servlet容器,比如jetty。 – 2012-07-31 12:31:35

回答

-1

在一个HTML页面中创建两个框架。一个主框架和另一个辅助框架。做这样的事情,只要我们发送一个请求响应应该被重定向到二次freme。 我不确定它会适用于你的情况。但我在我的项目中解决了这类问题。其中servlet处理的重量很重,而且我无法完成一个servlet进程。

+0

在客户端解决问题并不是一个有效的解决方案。固有的问题仍然存在。 servlet引擎需要进行编码,以便无论客户端发送请求,servlet管理器都能够对其进行合理处理。 – giulio 2012-07-31 10:00:22

+0

我认为在服务器端你不能处理排队。因为它使用多个线程,所有的执行都会同时执行。 .. – 2012-07-31 10:13:32

相关问题