small_brook 2019-08-14 10:47 采纳率: 0%
浏览 310

Jboss+Oracle Unable to obtain lock in 60 seconds

1.启了两个线程,select查询语句访问数据库报无法获取锁,求解决方案。

2.java.lang.reflect.UndeclaredThrowableException

    at com.sun.proxy.$Proxy2483.selectRrcMparmList(Unknown Source)
    at com.murong.ecp.app.rrc.service.RskGradeRatingService.gradeRating(RskGradeRatingService.java:78)
    at com.murong.ecp.app.rrc.action.RskGradeThread.run(RskGradeThread.java:51)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)

Nested Exception:

215016:215016-查询出错, ErrorCode:[0], SQLState:[null]

       com.yuangou.ecp.bp.database.YGJDBCProvider.execQueryBindLimit(YGJDBCProvider.java:132)
       com.yuangou.ecp.bp.database.YGDatabaseUtil.execQueryBindLimit(YGDatabaseUtil.java:110)
       com.yuangou.ecp.biz.transengine.sqlsession.YGSqlSession.selectList(YGSqlSession.java:281)
       com.yuangou.ecp.biz.transengine.sqlsession.YGSqlSession.selectList(YGSqlSession.java:194)
       com.yuangou.ecp.biz.transengine.sqlsession.MapperProxy.invoke(MapperProxy.java:69)
       com.sun.proxy.$Proxy2483.selectRrcMparmList(Unknown Source)
       com.murong.ecp.app.rrc.service.RskGradeRatingService.gradeRating(RskGradeRatingService.java:78)
       com.murong.ecp.app.rrc.action.RskGradeThread.run(RskGradeThread.java:51)
       java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
       java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
       java.lang.Thread.run(Thread.java:745)

Nested Exception:

java.sql.SQLException: Unable to obtain lock in 60 seconds: org.jboss.resource.adapter.jdbc.local.LocalManagedConnection@8176821

       org.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.tryLock(BaseWrapperManagedConnection.java:267)
       org.jboss.resource.adapter.jdbc.WrappedConnection.lock(WrappedConnection.java:79)
       org.jboss.resource.adapter.jdbc.WrappedConnection.prepareStatement(WrappedConnection.java:237)
       com.yuangou.ecp.bp.database.YGJDBCProvider.execQueryBindLimit(YGJDBCProvider.java:82)
       com.yuangou.ecp.bp.database.YGDatabaseUtil.execQueryBindLimit(YGDatabaseUtil.java:110)
       com.yuangou.ecp.biz.transengine.sqlsession.YGSqlSession.selectList(YGSqlSession.java:281)
       com.yuangou.ecp.biz.transengine.sqlsession.YGSqlSession.selectList(YGSqlSession.java:194)
       com.yuangou.ecp.biz.transengine.sqlsession.MapperProxy.invoke(MapperProxy.java:69)
       com.sun.proxy.$Proxy2483.selectRrcMparmList(Unknown Source)
       com.murong.ecp.app.rrc.service.RskGradeRatingService.gradeRating(RskGradeRatingService.java:78)
       com.murong.ecp.app.rrc.action.RskGradeThread.run(RskGradeThread.java:51)
       java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
       java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
       java.lang.Thread.run(Thread.java:745)
  • 写回答

1条回答

  • 憧憬blog 2023-03-15 05:30
    关注

    这个问题看起来像是在并发场景下出现的数据库锁竞争问题。建议您对数据库的表或索引进行优化以避免锁竞争。另外,您也可以尝试使用数据库连接池或缓存来减少对数据库的访问,从而减少锁竞争的可能性。此外,也需要检查代码实现,确保在并发场景中正确并且高效地使用数据库连接。至于 UndeclaredThrowableException,这个异常通常是由于在使用 Java 反射时出现的异常。建议您检查代码并确保反射调用时安全的。

    评论

报告相同问题?

悬赏问题

  • ¥50 comsol稳态求解器 找不到解,奇异矩阵有1个空方程返回的解不收敛。没有返回所有参数步长;pid控制
  • ¥15 怎么让wx群机器人发送音乐
  • ¥15 fesafe材料库问题
  • ¥35 beats蓝牙耳机怎么查看日志
  • ¥15 Fluent齿轮搅油
  • ¥15 八爪鱼爬数据为什么自己停了
  • ¥15 交替优化波束形成和ris反射角使保密速率最大化
  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功