Сервер Weblogic не содержит значения NONE во время генерации идентификатора сеанса

#weblogic12c

#weblogic12c

Вопрос:

Мы настроили кластеризованную среду weblogic 12.2.1.4 с 2 узлами в кластере. Мы используем идентификатор сеанса как часть механизма аутентификации для занесения информации о сеансе нашего пользователя в базу данных. Когда оба управляемых сервера работают, сервер генерирует этот идентификатор сеанса:

MrvgJEMe6NG95XNsflnhsWjspl52GXPdl33whbIfGkgaEQm7Rk0X!1974917613!-533469515!1605782630842

Когда мы попытались протестировать репликацию сеанса, отключив сервер, который в данный момент обслуживает HTTP-запрос, мы заметили, что идентификатор сеанса изменился и не содержит НИЧЕГО как часть сгенерированного идентификатора.

MrvgJEMe6NG95XNsflnhsWjspl52GXPdl33whbIfGkgaEQm7Rk0X!1974917613!НЕТ!1605782630842

Это вызвало несогласованность репликации сеанса. Кто-нибудь сталкивался с такой же проблемой и как вы ее решили? Мы высоко ценим ваш вклад.

Заранее благодарю вас за помощь.

Ответ №1:

Включите флаги отладки для отслеживания сбоев репликации сеанса Для сбора дополнительной информации о сбоях репликации сеанса, вы должны включить флаги DebugCluster, DebugClusterAnnouncements, DebugFailOver, DebugReplication и DebugReplicationDetails.

Чтобы включить: В WebLogic Server 9.x и выше, рекомендуемый подход заключается в использовании консоли администратора. Для каждого сервера в домене перейдите к Servers -> -> Debug и включите нужные флаги. Вы можете использовать weblogic.Утилита командной строки администратора для динамического включения и выключения параметров отладки.

Например, чтобы включить DebugCluster для всех административных экземпляров ServerDebug Mbean (т.Е. Сервера администрирования или управляемого сервера): java weblogic.Admin -url t3://localhost:7001 -имя пользователя system -пароль weblogic SET -тип ServerDebug -свойство DebugCluster true Кроме того, вы можете отредактировать config.xml и элемент Mbean в строке для каждого сервера, который вы хотите отладить, и установите значение «true» для включения или «false».для отключения. Затем вы должны перезапустить сервер администратора. Управляемые серверы повторно подключатся к серверу администратора, и флаги отладки вступят в силу динамически. Пример: В конце, со всеми установленными флагами, в вашем config.xml тег ServerDebug будет показан ниже: Убедитесь, что уровень stdOutSeverity сервера равен INFO, а для StdoutDebugEnabled установлено значение «true». Отладочная информация будет занесена в журнал сервера, а также в стандартный выход. Проверьте Weblogic.xml записи Убедитесь, что weblogic.xml содержит все параметры, которые необходимо установить для каждого типа репликации сеанса. Например, при использовании репликации в памяти образец weblogic.xml будет выглядеть так: введите описание изображения здесь

Комментарии:

1. джеймарко, спасибо, что поделился. Я попробовал настройку в консоли администратора weblogic с DebugFailOver и DebugLoadBalancing. Остальные не могут быть включены, поскольку я не смог их найти. Кроме того, возникла эта проблема с проверкой в weblogic.xml когда я добавил session-param: ** cvc-complex-type.2.4a: Ожидаемый тайм-аут элементов-секунды, интервал аннулирования-секунды, максимальный размер сохранения после сохранения, сохранение после тайм-аута-секунды, …,мониторинг-имя атрибута, совместное использование включено, аннулирование при повторном входе,’ вместо ‘session-param@xmlns.oracle.com/weblogic/weblogic-web-app ‘здесь, в сеансе элемента-дескриптор. **