HTTP 会话管理器故障诊断技巧
对于创建 HTTP 会话时或将 HTTP 会话与 WebSphere® Application Server 主管的 Web 应用程序配合使用时发生的问题,请使用故障诊断提示。
以下是要执行的一些步骤:
请参阅 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 会话的最佳实践。
要在 Web 应用程序运行时动态查看会话数,请启用 HTTP 会话的性能监视。监视性能所提供的信息可帮助您确定实际上是否正在创建会话。
要了解当应用程序运行时如何查看 HTTP 会话计数器,请参阅使用 Tivoli® Performance Viewer(以前称为资源分析器)监视性能。
- 或者,可以调用特定的 servlet,它显示与会话跟踪相关的当前配置和统计信息。
此 servlet 具有性能监视器工具中的所有计数器,并且具有一些附加的计数器。
- Servlet 名:com.ibm.ws.webcontainer.httpsession.IBMTrackerDebug。
- 您可以从已启用“按类名提供服务”的 Web 模块中调用此 servlet。例如,使用 default_app,http://localhost:9080/servlet/com.ibm.ws.webcontainer.httpsession.IBMTrackerDebug。
- 如果使用按类名提供服务功能部件来查看模块,请注意,任何可查看该应用程序的人都可以查看此模块。可以将特定的安全 URL 改为映射至 Servlet,并禁用按类名向 Servlet 提供服务设置。
对 HTTP 会话管理器组件启用跟踪。
以下跟踪有助于诊断问题:- 如果不使用任何持久性:
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 主机
在“WebContainer > HTTP 传输”中为服务器定义端口之后会出现错误消息 SRVE0079E,表明您未在虚拟主机定义中定义端口。要定义端口,
- 在管理控制台上,转至“环境 > 虚拟主机 > default_host > 主机别名 > 新建”
- 在主机 "*" 上定义新端口
应用程序服务器获取 EC3 - 04130007 ABENDs
要防止应用程序服务器上发生 EC3 - 04130007 异常终止,请更改 HTTP 输出超时值。定制属性 ConnectionResponseTimeout 指定尝试读或写数据时个别服务器的 HTTP 端口可以等待的最长 秒数。有关如何设置 ConnectionResponseTimeout 的指示信息,请参阅“HTTP 传输通道定制属性”主题。
如果这些步骤不能解决您的问题,请通过查看可用在线支持(提示与技巧、技术说明和修订)来检查是否已标识和记录了该问题。如果在此站点上没有找到您所引用的问题,请与 IBM 支持机构联系。
有关 IBM 支持机构提供的已知问题及其解决方案的最新信息,请参阅 IBM 支持机构页面。
IBM 技术支持提供了一些文档,可以帮助您收集在解决问题时所需要的信息,从而为您节省时间。在打开 PMR 之前,请参阅 IBM 技术支持页面。