Код не должен знать о кластеризации, но разработчик должен знать, что код может быть кластеризован и сеанс реплицирован. Позвольте мне объяснить.
Когда вы помечаете веб-приложение в web.xml, вы сообщаете контейнеру, что это веб-приложение может быть кластеризовано.
Если веб-приложение развернуто в кластере, на каждой машине в кластере будет запущен виртуальный компьютер и это веб-приложение внутри него. Что касается клиента, то запрос он видит в одном веб-приложении, хотя каждый запрос от клиента может обслуживаться другим виртуальным компьютером в кластере.
Таким образом, если веб-приложение хранит какое-либо состояние, оно должно быть доступно для всех экземпляров vms (в кластере), выполняющих веб-приложение.
Как это может быть сделано ?
Помечая вещи, которые вы помещаете в объект httpsession, как «Сериализуемые». Вы сообщаете контейнеру, что он должен реплицировать состояние на другие vms (если у вас есть репликация сеанса установки). Это достигается несколькими способами в WebLogic. Каждый раз, когда вы используете setAttribute () в сеансе, он вызывает событие репликации сеанса.
В WL Есть два способа репликации памяти и использования базы данных для
тиражирование Я хотел бы услышать, как это делается на других серверах приложений.