JSF-сессии в веб-ферме - PullRequest
       15

JSF-сессии в веб-ферме

4 голосов
/ 13 февраля 2010

Создание приложения JSF с помощью Spring на Tomcat.Цель - веб-ферма, и клиент попросил, чтобы мы разработали наше приложение, чтобы оно могло быть сбалансировано по нагрузке, не полагаясь на «липкие сессии» в LB.

В .NET вы можете настроить хранилище сеансов как SQL Server или службу состояний ASP.NET.Какие альтернативы существуют в мире Java?Существует ли стандартный способ подключения другого хранилища состояний сеанса, которое указывает, например, на базу данных MySQL?Предоставляет ли Spring какие-либо крючки?

1 Ответ

2 голосов
/ 13 февраля 2010

Это спецификация сервлет-контейнера, в данном случае это Tomcat. Контейнер-сервлет - это тот, кто управляет и обеспечивает сеансы. Так что JSF и Spring тут не при чем. Они просто прозрачно получают его от сервлет-контейнера на request.getSession() и т. Д.

В Tomcat вы можете предоставить настраиваемую реализацию менеджера сеансов в веб-приложении Context:

<Context ...>
    <Manager className="com.example.SessionManager">

.. где com.example.SessionManager реализует org.apache.catalina.Manager согласно своему контракту. Там вы можете написать код для поддержки сессий базой данных.

Однако, есть альтернативы для вашего конкретного требования, вы можете выбрать встроенные возможности Tomcat для кластеризации / репликации сеансов вместо того, чтобы изобретать их с помощью собственного менеджера / базы данных. Подробнее об этом можно узнать в Tomcat Clustering / Session Replication, КАК .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...