`
deepass
  • 浏览: 9374 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

关于TimedOutException

阅读更多

今天一过来,更新个人信息时,出现异常:

java.sql.SQLException: The transaction is no longer active - status: 'Rolling Back. [Reason=weblogic.transaction.internal.TimedOutException: Transaction timed out after 32 seconds
BEA1-0125C0B87670F93BF05F]'. No further JDBC access is allowed within this transaction.
at weblogic.jdbc.wrapper.JTSConnection.checkIfRolledBack(JTSConnection.java:195)
at weblogic.jdbc.wrapper.JTSConnection.checkConnection(JTSConnection.java:205)
at weblogic.jdbc.wrapper.Connection.preInvocationHandler(Connection.java:87)
at weblogic.jdbc.wrapper.Connection.clearPreparedStatement(Connection.java:241)
at weblogic.jdbc.wrapper.PreparedStatement.execute(PreparedStatement.java:75)

太奇怪了,上周都好好的,今天怎么突然就timeout异常呢?检查个人信息同步的函数,没有发现有人更改的痕迹,重新打包

错误依然,timedoutexception,一般是出现以下情况时才会出现:

  • 在 JDBC 代码中使用 DriverManager.getConnection()。
  • 发布给数据库的 SQL 查询返回时间异常的长。
  • 配置了 JDBC 连接池的数据库挂起且不及时从调用返回。
  • 低速或超载的网络导致数据库调用速度减慢或挂起。
  • 死锁导致所有执行线程挂起和永久等待。
  • JDBC 连接池中的 RefreshMinutes 或 TestFrequencySeconds 属性导致 WebLogic Server 中出现挂起期间。
  • JDBC 连接池收缩和数据库连接的重新创建使响应时间变长。
  • 1、关掉电驴(呵呵,不好的习惯)重新启动机器,重新进行测试,发现问题依旧,这排除了网络的因素;

    2、对单位信息同步和时间同步进行测试,通过,也排除了配置和getconnection的因素(也和5-7的没有关系);

    3、现在是除了个人的不能做,其他业务都没有问题,也就是说问题出在个人的表上,突然想到是不是有人对这张表进行锁定了,因为在同步的时候我有对流程和业务锁进行update,如果有人对其锁定,一定会超时的,对该业务所要操作的表进行查看,果然是有人锁定了,解锁,问题解决 :)

    搞了一整个下午,原因竟然是一个表被锁了,而我们其他人都不知道,看来团队之间的联系还是不紧密呀……

     

    分享到:
    评论

    相关推荐

    Global site tag (gtag.js) - Google Analytics