2010-06-20 3 views
0

Привет, У меня есть сценарий, что я использую 4 экземпляра tomcat на нашем сервере. Тогда, когда пользователь подключится к tomcat-1, мы сохраним все значения сеанса в tomcat-1. Затем мы обрабатывают paypal. После обработки PayPal пользователь получает перенаправление на другой tomcat, скажем, tomcat-2. Так что в этом сеансе нет значений для сеанса. И я столкнулся с проблемой. Поэтому я хочу отправить пользователя на тот же tomcat, откуда он приходит после paypal, чтобы его все значения сеанса мы могли получить.Управление сеансами на разных экземплярах tomcat

ответ

2

Почему вы используете несколько экземпляров Tomcat на сервере? Лучшим ответом на это было бы использование одного экземпляра Tomcat и развертывание на нем всех webapps и, при необходимости, использование virtual hosting.

Если вы придерживаетесь нескольких экземпляров, то единственным решением является передача интересующей информации в качестве параметра запроса или pathinfo и ее обработка соответствующим образом. Если эта информация содержит множество данных и/или комплексных данных, сохраните их в общем хранилище данных (база данных SQL?) И передайте значение идентификатора (первичного ключа) в качестве параметра запроса/pathinfo.

Если решить эту проблему с помощью одного экземпляра Tomcat на сервере, то вы можете просто установить emptySessionPath attrbute из HTTP connector<Connector> в conf/server.xml к true. Таким образом, HttpSession будет использоваться для всех развертываемых веб-приложений.

Если вы на самом деле имеют 4 физически независимых серверных машин с каждым одним экземпляром Tomcat, который каждый содержит резервную/дублирования WebApps, то вам нужно создать cluster with session replication.

+0

Привет, у меня есть еще 2 физически независимых сервера с (возможно) не связью между афоризмами. Есть ли способ настроить tomcat для совместного использования местоположения пути для сеансов save и mantain? – user2427

Смежные вопросы