【问题标题】:Why JBOSS ORACLE datasource doesn't fail fast when query times out?为什么查询超时时 JBOSS ORACLE 数据源不会快速失败?
【发布时间】:2023-03-23 20:04:01
【问题描述】:

为什么 JBOSS ORACLE 数据源在查询超时时不会快速失败?

环境:jboss-eap-7.0

我正在等待一个快速失败的异常:

java.sql.SQLTimeoutException: ORA-01013 user requested cancel of current operation

但我在交易结束后得到以下信息。

Caused by: java.lang.Throwable: setRollbackOnly called from:
    at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.setRollbackOnly(TransactionImple.java:339)

如何强制它快速失败?

【问题讨论】:

  • 当我将数据源更改为 Mysql 时,它可以工作。 com.mysql.cj.jdbc.exceptions.MySQLTimeoutException: Statement cancelled due to timeout or client request 快速失败
  • 我猜这是 ojdbc 驱动程序的问题。您使用什么数据库以及如何取消查询?你的代码是什么样子的?如果查询毫无例外地返回,您的代码可能不会失败并继续“查询”而没有结果
  • @wfink 谢谢。我找到了问题。

标签: jboss jta jboss-eap-7 xa


【解决方案1】:

这与 JDBC 驱动程序版本和防火墙有关。

这与 JBOSS、XA、JTA、DATASOURCE 或其他无关。

见:https://www.ibm.com/mysupport/s/question/0D50z000062kF2p/why-is-the-webspheredefaultquerytimeout-property-for-timing-out-sql-queries-not-working

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-16
    • 1970-01-01
    相关资源
    最近更新 更多