【问题标题】:Ejb Finder(ejb-ql) Transaction TimesOutEjb Finder(ejb-ql) 事务超时
【发布时间】:2012-10-11 07:35:50
【问题描述】:

我们一直面临一个问题,一个简单的 ejb-ql 查询用完事务时间,如果从 SQL 命令提示符运行相同(WL 生成的 ejb-ql 的 SQL 版本),它所花费的时间比配置的要少得多JTA时间(执行不到JTA的5%时间)。

错误:抛出的错误很少是:

javax.ejb.FinderException:使用结果集时出现“finderMethodName”异常:“weblogic.jdbc.wrapper.ResultSet_oracle_jdbc_driver_OracleResultSetImpl@9c18f” java.sql.SQLException:登记 XAConnection 时出现意外异常 java.sql.SQLException:事务回滚:事务在 301 秒后超时

注意 - JTA 配置为 300 秒

大多数时候抛出的错误是:

javax.ejb.FinderException:使用结果集时出现“finderMethodName”异常:“weblogic.jdbc.wrapper.ResultSet_oracle_jdbc_driver_OracleResultSetImpl@a5af” java.sql.SQLException: 结果集已经关闭

【问题讨论】:

  • 如果您遇到任何死锁,您是否检查过您的数据库?您是否使用任何类型的锁定?

标签: java oracle10g ejb weblogic9.x ejbql


【解决方案1】:

你应该增加容器中的超时时间。

服务配置 -> 其他服务

点击JTA配置(在其他服务下)

然后您将在页面顶部看到超时秒数。

【讨论】:

  • 感谢您的回复。增加超时设置可能无济于事,因为我提到了 EJB-QL 的 SQL 等效项,用于查找器在几秒钟内返回。我无法猜测时间的去向,a) 是执行查询的时间,或者 b) 应用服务器正在等待某些资源(比如获取连接),或者 c) cmp finder 返回了结果,但是结果集的迭代需要时间。
猜你喜欢
  • 1970-01-01
  • 2011-11-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-05
  • 1970-01-01
相关资源
最近更新 更多