首页 > 解决方案 > Weblogic Server 在会话 ID 生成期间包含 NONE 值

问题描述

我们已经设置了 weblogic 12.2.1.4 集群环境,集群中有 2 个节点。我们使用会话 ID 作为身份验证机制的一部分,将我们的用户会话信息记录到数据库中。当两个托管服务器都启动时,服务器会生成此会话 ID:

MrvgJEMe6NG95XNsflnhsWjspl52GXPdl33whbIfGkgaEQm7Rk0X!1974917613!-533469515!1605782630842

当我们尝试通过关闭当前服务 HTTP 请求的服务器来测试会话复制时,我们注意到会话 ID 已更改并且包含NONE作为生成 ID 的一部分。

MrvgJEMe6NG95XNsflnhsWjspl52GXPdl33whbIfGkgaEQm7Rk0X!1974917613!NONE!1605782630842

这导致会话复制不一致。有没有人遇到过同样的问题,你是如何解决的?非常感谢您的意见。

预先感谢您的帮助。

标签: weblogic12c

解决方案


启用调试标志以跟踪会话复制失败 要收集有关会话复制失败的更多日志记录信息,您应该启用标志 DebugCluster、DebugClusterAnnouncements、DebugFailOver、DebugReplication 和 DebugReplicationDetails。

启用:在 WebLogic Server 9.x 及更高版本中,推荐的方法是使用管理控制台。对于域中的每个服务器,导航到服务器 -> -> 调试并启用所需的标志。您可以使用 weblogic.Admin 命令行实用程序来动态打开和关闭调试选项。

例如,要在 ServerDebug Mbean 的所有管理实例(即管理服务器或托管服务器)上打开 DebugCluster: java weblogic.Admin -url t3://localhost:7001 -username system -password weblogic SET -type ServerDebug -property DebugCluster true 或者,您可以为要调试的每个服务器编辑节中的 config.xml 和 Mbean 元素,并将值设置为“true”以启用或“false”以禁用。然后您必须重新启动管理服务器。托管服务器将重新连接到管理服务器,然后调试标志将动态生效。示例:最后,设置所有标志后,在您的 config.xml 中,ServerDebug 标记如下所示:确保服务器的 stdOutSeverity 级别为 INFO 并且 StdoutDebugEnabled 设置为“true”。调试信息将被记录到服务器日志以及标准输出中。验证 Weblogic.xml 条目 确保 weblogic.xml 具有需要为每个会话复制类型设置的所有参数。例如,当使用内存复制时,示例 weblogic.xml 将如下所示: 在此处输入图像描述


推荐阅读