Очередь приема не может отслеживаться, но вы можете получить количество запросов в очереди для tomcat, используя Исполнитель .
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="20" minSpareThreads="10" maxQueueSize="30" />
<Connector port="8080" protocol="HTTP/1.1" executor="tomcatThreadPool" connectionTimeout="20000" redirectPort="8443" maxConnections="50" />
Конфигурация maxThreads = "20" означает, что в пуле потоков максимум 20 рабочих, и может одновременно обрабатывать 20 запросов.
maxQueueSize = "30" означает, что в пуле потоков может находиться не более 30 необработанных запросов.Таким образом, вы можете отслеживать атрибут queueSize через JMX, чтобы получить количество запросов в очереди.
Но по умолчанию очередь пула потоков никогда не будет содержать никаких запросов, поскольку значение по умолчанию maxConnections являетсязначение maxThreads , что означает, что, когда все рабочие заняты, новые запросы помещаются в очередь в очередь приема.
При установке maxConnections = "50" , tomcat может приниматьбольше запросов, чем maxThreads (20).В приведенном выше примере пул потоков Executor может обработать 20 запросов, дополнительные 30 запросов будут храниться в очереди пулов потоков, любые дальнейшие запросы будут находиться в очереди в очереди приема.
Так что теперь вы можете отслеживать количествозапросы в очереди в пуле потоков с использованием MBean 'Catalina: type = Executor, name = tomcatThreadPool' и именем атрибута 'queueSize'