每当查询由于表中的行级锁定而无法更新记录时,我都会在 weblogic 服务器日志中收到烦人的日志。锁定是预期的,因为多个应用程序将尝试同时更新记录。该应用程序旨在处理这些异常并在一段时间后重试。但是每次查询失败时,Hibernate 都会将错误日志写入服务器输出文件。
WARNING: SQL Error: -244, SQLState: IX000
16-Oct-2013 19:15:00 org.hibernate.util.JDBCExceptionReporter logExceptions
SEVERE: Could not do a physical-order read to fetch next row.
16-Oct-2013 19:15:00 org.hibernate.util.JDBCExceptionReporter logExceptions
WARNING: SQL Error: -113, SQLState: IX000
16-Oct-2013 19:15:00 org.hibernate.util.JDBCExceptionReporter logExceptions
SEVERE: ISAM error: the file is locked.
16-Oct-2013 19:15:00 org.hibernate.event.def.AbstractFlushingEventListener performExecutions
SEVERE: Could not synchronize database state with session
org.hibernate.exception.GenericJDBCException: could not update: [uk.co.orange.rp.collections.entity.PpsServerLock#2]
at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:126)
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:114)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
.
.
.
在 Eclipse 中,我可以通过在类路径中添加 slf4j-log4j12 jar 来避免登录控制台。但我无法在 WebLogic 应用程序中实现相同的目标。
甚至尝试在 weblogic-application.xml 上添加以下内容,但没有运气。
<prefer-application-packages>
<package-name>org.slf4j.*</package-name>
<package-name>org.apache.log4j.*</package-name>
</prefer-application-packages>
有人可以建议还有什么可以做的。
我正在使用 Hibernate-3.3.2、Log4j-1.2.15、slf4j-1.5.6、JPA-1.1
问候