0

我有一个 java servlet,我在其中打印出当前线程的名称。无论我按浏览器上的刷新按钮多少次,处理我的请求的始终是同一个线程。线程始终是http--127.0.0.1-8080-1. 这是否意味着池中只有一个线程在处理所有请求?

当我参加 Java EE 课程时,我记得当我多次按下刷新按钮时,池中有不同的线程处理请求。输出可能是:

http--127.0.0.1-8080-1
http--127.0.0.1-8080-3
http--127.0.0.1-8080-2
http--127.0.0.1-8080-5

现在总是http--127.0.0.1-8080-1

4

1 回答 1

2

我检查过 JBoss 4.2.3、JBoss 6.0.0 和 JBoss 7.1.1: 有时线程会改变,有时不会。

当我从不同的浏览器实例访问同一个 Web 应用程序时,在第一个浏览器中它没有改变,在另一个浏览器中它确实改变了。

在位于 Resources / JBoss Web / Connectors / 的 JBoss 6.0.0 管理控制台中http://127.0.0:8080,您可以看到活动线程数和总线程数。在我的例子中,active = 2 和 count = 7。我在 JBoss 7.1.1 管理控制台中没有找到这些信息。但是使用两个浏览器实例表明至少使用了两个不同的线程。

因此,从池中选择哪个线程可能不确定,并且一两个浏览器会话不会产生足够的流量。

于 2013-06-19T19:50:38.367 回答