HTTP 会话管理器故障诊断技巧
使用故障排除提示解决在由以下机构托管的 Web 应用程序中创建或使用 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指定错误的编号。 在会话管理器消息表中查看扩展错误定义。
- 请查看在每一个应用程序启动时写入的消息。 具体而言,请查看在以下两条消息之间写入的消息:
要动态查看 Web 应用程序运行时的会话数,请启用 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有关详细信息,请参阅For more information, see 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 端口可以等待的最长 秒数。 有关如何设置的说明连接响应超时,请参阅主题HTTP 传输通道定制属性。
如果这些步骤不能解决您的问题,请检查问题是否已被识别并记录下来,方法是查看可用的在线支持(提示和技巧、技术说明和修复) 。 如果你没有在此网站上找到你的问题,接触IBM支持。
欲了解最新信息,请访问IBM有关已知问题及其解决方案的支持,请参阅IBM支持页。
IBM 支持机构提供的文档能节省您在收集解决问题所需信息上花费的时间。 在打开 PMR 之前,请参阅IBM支持页。