Настройка соединений — два веб-приложения в одном контейнере Tomcat

Я разрабатываю одновременно два веб-приложения, которые будут развернуты в контейнере Tomcat 6. Мой вопрос прост: возможно ли настроить или управлять количеством подключений (HTTP-запросов), разрешенных Tomcat для каждого приложения? На самом деле мне нужно общее количество подключений, не превышающее 12, но я также хотел бы гарантировать не менее 4 подключений для каждого приложения.

заранее спасибо


person taktako    schedule 07.03.2011    source источник


Ответы (1)


Если вы хотите ограничить максимальное количество одновременных подключений, в конфигурации Tomcat есть параметр Http Connector, который называется maxThreads. По умолчанию это 200, но вы можете установить его на 12 в вашем случае. См. Документацию по настройке Tomcat.

Однако, если вы хотите полностью ограничить количество активных сеансов, как в лицензионном ограничении, вы можете сохранить переменную области приложения (контекст сервлета) для добавления и вычитания по мере создания и уничтожения каждого сеанса, что позволит вам проверять любые новые сеансы против этого значения и принять сеанс или представить приятное сообщение пользователю, если квота превышена. Вы можете использовать HttpSessionListener для отслеживания создания и уничтожение сессий. Вы также можете использовать Шаблон перехватчика для выполнения функции регулирования.

person Adrian Regan    schedule 07.03.2011
comment
Спасибо, Адриан. Я хочу установить минимальное количество подключений для каждого приложения, развернутого в tomcat. На самом деле другие приложения могут быть развернуты в том же контейнере, но я хочу зарезервировать несколько подключений к моему приложению. Возможно ли это только путем настройки Tomcat? Или я обязательно должен изменить свой код? заранее спасибо - person taktako; 09.03.2011
comment
@taktako, соединения принадлежат контейнеру и выделяются каждому приложению для обслуживания запроса к этому приложению. Пока система не находится под высокой нагрузкой, ваше приложение будет своевременно обслуживаться контейнером. В противном случае вы можете начать искать решения для балансировки нагрузки. - person Adrian Regan; 09.03.2011
comment
Кроме того, если вы хотите прокомментировать ответ, вы можете использовать ссылку «Добавить комментарий» под ответом, а не добавлять новый ответ самостоятельно. Это позволит мне изменить ответ в ответ. - person Adrian Regan; 09.03.2011