Я копал и обнаружил, что в AbstractSessionManager
есть метод, называемый getCrossContextSessionIDs()
. Если он возвращает true
, то при создании нового сеанса Jetty сначала проверит, задан ли JSESSIONID, и попытается использовать этот существующий идентификатор сеанса. Я думаю, что я могу установить значения true
, используя какое-то свойство Java при запуске.
При дальнейшем копании это поможет только в том случае, если я запускаю два веб-приложения в разных контекстах одной и той же Jetty (следовательно, в перекрестном контексте). При создании нового объекта Session
выбирается новое значение JSESSIONID
. Если getCrossContextSessionIDs()
вернет true
, то он проверит, было ли текущее значение JSESSIONID
создано этой Причалой (включая все другие контексты), и если это так, он будет использовать его повторно.
Поскольку я имею дело с двумя разными экземплярами Jetty, работающими на двух разных портах, мне нужно будет взломать источник Jetty, чтобы не выполнять эту проверку, или просто создать собственную сессионную инфраструктуру.