Как включить привязку сеанса в liberty server

Мне нужно включить привязку сеанса на сервере свободы. Включено ли оно по умолчанию или у нас есть теги или атрибуты, которые можно настроить в файле server.xml.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
1 532
1

Ответы 1

Если ваше приложение использует Java EE HTTP Session API HTTPServletRequest.getSession(), Liberty будет генерировать файлы cookie, которые позволяют любому прокси-серверу HTTP поддерживать привязку без какой-либо конфигурации.

Единственные элементы, которые обычно требуют настройки:

  1. Выбор настраиваемого / постоянного идентификатора HTTP-клона, также известного как имя «worker» или «маршрут» в других средах. Это можно сделать с помощью простого тега server.xml: <httpSession cloneId = "foo1"/>
  2. Сеанс упорство, связанный с отработкой отказа, но не привязкой, требует значительной конфигурации, такой как резервная база данных или сетка памяти для общего хранилища.

Чтобы подтвердить, что привязка сеанса работает:

  1. Запустите браузер в режиме инкогнито
  2. Доступ к вашему приложению
  3. Используйте инструменты разработчика браузера или журналы веб-сервера, чтобы просмотреть файлы cookie входящих или исходящих сеансов.
  4. Обратите внимание на cloneID в последнем поле JSESSIONID, разделенном ':'. печенье

Если файла cookie нет, привязки нет, потому что сеанс не устанавливается. Это проблема приложения.

Если файл cookie есть, но он не возвращает вас на нужный сервер, это, вероятно, связано с тем, что cloneID, который использовался во время создания конфигурации веб-сервера, больше не используется серверным приложением. Выберите постоянный cloneID, как описано выше, и восстановите / перенастройте.

Если вы считаете, что существует проблема, вам необходимо иметь возможность отображать хотя бы файл cookie сеанса, переданный клиентом, и определение сервера в plugin-cfg.xml веб-серверов, а также идентификатор cloneID, который отображается в автоматически сгенерированных журналах / state / plugin-cfg.xml на сервере, с которым, по вашему мнению, должен быть привязан этот запрос.

@convener может быть достигнуто, если у нас есть несколько автономных серверов liberty. Или нам нужно кластеризовать серверы свободы. Tks

P Darius 21.04.2018 18:13

Несколько автономных серверов - это нормально, им не нужно знать друг друга для схожести.

covener 21.04.2018 18:14

извините за беспокойство. Вот как устроена система. У меня есть два сервера liberty на физическом сервере 122 с приложением A и B и еще один сервер 123 с двумя серверами liberty с теми же A и B, что и в 122. Я сгенерировал плагин и объединил его, а затем снова объединил объединенный плагин 122 и 123 и распространил его на HTTP-сервер IBM. В этом сценарии я не могу достичь привязки сеанса. Есть ли еще какая-то конфигурация, которую мне нужно сделать? Tks

P Darius 21.04.2018 18:25

Я добавил к своему ответу, но вы должны понимать, что этот сайт предназначен для вопросов и ответов по темам программирования. Это может быть более подходящим для чего-то вроде форума разработчиков.

covener 21.04.2018 18:36

Другие вопросы по теме