HTTP 会话管理器故障诊断技巧
使用故障排除提示来解决在创建或使用 HTTP 会话时遇到的问题。 WebSphere® Application Server.
以下是要执行的一些步骤:
请参阅 HTTP 会话问题 信息,查看是否描述了您的具体问题。
查看托管问题应用程序的应用程序服务器的 JVM 日志 :
- 请查看在每一个应用程序启动时写入的消息。 具体而言,请查看在以下两条消息之间写入的消息:
Starting application: application ..................... Application started: application - 在该块中,查看任何包含 com.ibm.ws.webcontainer.httpsession 的包名的错误或异常。 如果找不到任何错误,那么此结果表明会话管理器已成功启动。
- 错误消息 SRVE0054E: 装入会话上下文和 Web 应用程序时发生错误指示会话管理器未针对给定的应用程序正确启动。
- 在日志内查看任何与会话管理器相关的消息。 这些消息采用格式
SESNxxxxE(适用于错误消息)和SESNxxxxW(适用于警告消息),并且xxxx指定错误的编号。 在会话管理器消息表中查看扩展错误定义。
- 请查看在每一个应用程序启动时写入的消息。 具体而言,请查看在以下两条消息之间写入的消息:
查看主管问题应用程序的应用程序服务器的日志:
- 请查看在每一个应用程序启动时写入的消息。 具体而言,请查看在以下两条消息之间写入的消息:
Starting application: application ..................... Application started: application - 在与启动应用程序相关的这些消息中,查看任何包含包名 com.ibm.ws.webcontainer.httpsession 的错误或异常。 如果没有找到,那么这表明会话管理器已成功启动。
- 错误消息 SRVE0054E: 装入会话上下文和 Web 应用程序时发生错误指示会话管理器未针对给定的应用程序正确启动。
- 在日志内查看任何与会话管理器相关的消息。 这些消息采用格式
SESNxxxxE(适用于错误消息)和SESNxxxxW(适用于警告消息),并且xxxx指定错误的编号。 在会话管理器消息表中查看扩展错误定义。
- 请查看在每一个应用程序启动时写入的消息。 具体而言,请查看在以下两条消息之间写入的消息:
请参阅使用 HTTP 会话的最佳实践。
要动态查看网络应用程序运行时的会话数量,请启用 HTTP 会话性能监控。 监视性能所提供的信息可帮助您确定实际上是否正在创建会话。
要了解如何在应用程序运行时查看 HTTP 会话计数器,请参阅使用 Tivoli® Performance Viewer(前身为 Resource Analyzer)监控性能。
- 或者,可以调用特定的 servlet,它显示与会话跟踪相关的当前配置和统计信息。
此 servlet 具有性能监视器工具中的所有计数器,并且具有一些其他计数器。
- Servlet 名:com.ibm.ws.webcontainer.httpsession.IBMTrackerDebug。
- 可从允许按类名提供服务的任何 Web 模块调用此 servlet。 例如,使用 default_app,http://localhost:9080/servlet/com.ibm.ws.webcontainer.httpsession.IBMTrackerDebug。要启用 "按类名提供服务" 功能,请将
com.ibm.ws.webcontainer.disallowserveservletsbyclassnameWeb 容器定制属性设置为 false,如以下示例中所示:com.ibm.ws.webcontainer.disallowserveservletsbyclassname=false有关更多信息,请参阅 com.ibm.ws.webcontainer.disallowServeServletsByClassname
- 如果您正在使用
serve by class name功能部件查看模块,请注意此模块可能可供可查看应用程序的任何人查看。 您可以将特定的安全 URL 映射到 servlet,然后禁用 serve servlets by classname 设置。
启用 HTTP Session Manager 组件的跟踪功能。
以下跟踪有助于诊断问题:- 如果不使用任何持久性:
com.ibm.ws.session.*=all: com.ibm.ws.webcontainer.srt.*=all - 如果使用数据库持久性:
com.ibm.ws.session.*=all: com.ibm.ws.webcontainer.srt.*=all: WAS.j2c=all: RRA=all: WAS.Database=all - 如果使用内存至内存持久性:
com.ibm.ws.session.*=all: com.ibm.ws.webcontainer.srt.*=all: com.ibm.ws.drs.*=all
- 如果不使用任何持久性:
如果正在使用基于数据库的持久会话,查看与会话管理器所依赖的数据源有关的问题以保持会话状态信息。 有关诊断数据库相关问题的详细信息,请参阅 访问数据源或连接池时出错
错误消息SRVE0079E Servlet host not found在定义端口之后
在 WebContainer >“HTTP 传输”中为服务器定义端口之后会出现错误消息 SRVE0079E,表明您没有在虚拟主机定义中定义端口。 要定义端口,
- 在管理控制台上,转至“环境”>“虚拟主机”> default_host >“主机别名”>“新建”
- 在主机 "*" 上定义新端口
应用程序服务器获取 EC3 - 04130007 ABENDs
要防止应用程序服务器上发生 EC3 - 04130007 异常终止,请更改 HTTP 输出超时值。 定制属性 ConnectionResponseTimeout 指定尝试读或写数据时个别服务器的 HTTP 端口可以等待的最长 秒数。 有关如何设置 ConnectionResponseTimeout 的说明,请参阅 HTTP 传输通道自定义属性。
如果这些步骤无法解决您的问题,请通过查看 可用的联机支持 (提示和技巧,技术说明和修订)来检查是否已识别并记录该问题。 如果找不到此站点上引用的问题,请 联系 IBM® 支持人员。
有关 IBM 支持人员提供的有关已知问题及其解决方法的最新信息,请参阅 IBM 支持 页面。
IBM 支持机构提供的文档能节省您在收集解决问题所需信息上花费的时间。 在打开 PMR 之前,请参阅 IBM 支持 页面。