Exception loading sessions from persistent storage

本文探讨了Tomcat 5中出现的一个问题:服务重启后尝试恢复非Serializable属性的Session导致异常。文中提供了禁用此特性的具体配置方法。

碰到这样一个问题: 

引用
2006-7-26 20:49:41 org.apache.catalina.session.StandardManager start 
严重: Exception loading sessions from persistent storage 
java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: ...

J2ee的session并没有要求session attribute必须要Serializable呀。原来这是tomcat 5的新功能,服务复位后自动恢复session

如果要禁用这一特性,到apache-tomcat/conf/Catalina/localhost目录下找到webapp同名的xml,修改成:

 

引用
<Context path="..." reloadable="..." docBase="..." workDir="..."> 
<Manager className="org.apache.catalina.session.PersistentManager" saveOnRestart="false"/> 
</Context> 
在达梦数据库(DM)中,查询当前会话信息可以通过系统视图 `V$SESSIONS` 来实现。该视图提供了数据库当前所有会话的详细信息,包括会话 ID、用户名、客户端 IP 地址、会话状态、SQL 语句等[^2]。通过这些信息,数据库管理员可以对数据库的活动情况进行监控和分析,例如识别长时间运行的会话或查找特定用户的会话。 ### 查询当前会话信息 以下是一个基本的 SQL 查询语句,用于从 `V$SESSIONS` 视图中获取当前会话信息: ```sql SELECT sess_id, username, client_ip, status, sql_text FROM v$sessions; ``` - **sess_id**:会话标识符,用于唯一标识一个会话。 - **username**:连接数据库的用户名。 - **client_ip**:客户端的 IP 地址。 - **status**:会话的当前状态,例如是否正在执行 SQL 语句。 - **sql_text**:当前会话正在执行的 SQL 语句。 ### 关闭特定会话 如果需要关闭某个特定的会话,可以使用 `SP_CLOSE_SESSION` 存储过程,并传入会话 ID 作为参数。例如,假设要关闭会话 ID 为 `12345` 的会话,可以使用以下命令: ```sql CALL SP_CLOSE_SESSION(12345); ``` ### 查询阻塞会话 除了查询当前会话信息外,还可以结合 `V$TRXWAIT` 视图来查找阻塞会话。通过以下 SQL 语句可以查询当前阻塞的会话: ```sql SELECT a.sess_id FROM v$trxwait a, v$sessions b WHERE a.id = b.trx_id; ``` 该查询将返回当前被阻塞的会话 ID,以便进行后续处理[^3]。 ### 相关问题 1. 如何在达梦数据库中监控长时间运行的会话? 2. 如何通过 `V$TRXWAIT` 和 `V$SESSIONS` 视图查找阻塞会话? 3. 达梦数据库中有哪些系统视图可用于监控数据库性能? 4. 如何通过 `V$SQL_NODE_NAME` 和 `V$SQL_NODE_HISTORY` 视图进行 SQL 语句调优? 5. 达梦数据库中如何使用 `SP_CLOSE_SESSION` 存储过程关闭会话?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值