Я читал Struts2 In Action, и он говорит, что для каждого запроса создаются экземпляры ActionContext
, ValueStack
и Action
, поэтому они потокобезопасны. Мне было интересно, как фреймворк управляет сеансом, потому что он не может храниться в этих местах, где хранится фактическая карта и как фреймворк управляет одновременным доступом к этой карте?
Расположение хранилища сеансов Struts2 и управление им
comment
stackoverflow.com/q/7885525/1700321.
- person Aleksandr M   schedule 17.06.2014
Ответы (1)
Сеанс http хранится в SessionMap
, который среди других карт контекста сохраняется в контексте действия диспетчером при обслуживании запроса. Карта сеанса является оболочкой для объекта сеанса http, и такие операции, как get
/put
, синхронизируются с использованием монитора объекта сеанса http. Он просто синхронизирует доступ к атрибутам сеанса http, но обеспечивает реализацию Map
.
person
Roman C
schedule
17.06.2014