【问题标题】:Transaction is not active and execute query taking a long time in Jboss事务不活跃,在 Jboss 中执行查询需要很长时间
【发布时间】:2014-07-13 17:49:17
【问题描述】:

我们将 ATG 用于电子商务网站。现在我们正在使用一些调度程序从 oracle DB 中获取数据。今天我们遇到了“事务未激活”异常。

我们将超时时间从 300(默认)增加到 3000。现在我们没有收到此异常,但执行查询需要很长时间。任何指针?通过 sqlserver 执行此查询时,所花费的时间要少得多。

例外:

2014-07-10 21:17:41,888 错误 [STDERR] 容器:atg.repository.RepositoryException; SOURCE:org.jboss.util.NestedSQLException:事务未激活:tx=TransactionImple ; - 嵌套 throwable:(javax.resource.ResourceException:事务未激活:tx=TransactionImple ) 2014-07-10 21:17:41,888 错误 [STDERR] atg.adapter.gsa.GSAItemDescriptor.executeQuery(GSAItemDescriptor.java:7638) 2014-07-10 21:17:41,888 错误 [STDERR] atg.adapter.gsa.GSAView.executeUncachedQuery(GSAView.java:332) 2014-07-10 21:17:41,888 错误 [STDERR] atg.repository.query.QueryCache.executeUncachedQuery(QueryCache.java:693

【问题讨论】:

    标签: java oracle jboss transactions atg


    【解决方案1】:

    尝试在/dyn/admin/nucleus/atg/dynamo/service/jdbc/JTDataSource 组件上打开 SQL 调试器。这将为您提供由您的 RQL 语句生成的确切 SQL,这通常不是那么有效。 警告这会产生大量的调试语句,所以只做很短的时间,永远不要在生产环境中。建议您然后检查相关列和表上是否有索引。

    或者,您也可以尝试从 dynamo 管理页面启用 ATG 性能监视器并将PerformanceMonitor 添加到您的代码代码中。可以在here 中找到有关如何执行此操作的示例。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-06
      • 1970-01-01
      • 1970-01-01
      • 2016-04-22
      • 2019-12-29
      相关资源
      最近更新 更多