Java 事务处于非活动状态,在Jboss中执行查询需要很长时间

Java 事务处于非活动状态,在Jboss中执行查询需要很长时间,java,oracle,jboss,transactions,atg,Java,Oracle,Jboss,Transactions,Atg,我们正在使用ATG的电子商务网站。现在,我们使用一些调度程序从oracle数据库获取数据。今天我们得到一个“事务未激活”异常 我们将超时时间从300(默认)增加到3000。现在我们没有得到这个异常,但是执行查询需要很长时间。有什么建议吗?在通过sqlserver执行此查询时,所用时间要少得多 例外情况: 2014-07-10 21:17:41888错误[STDERR]容器:atg.repository.RepositoryException;来源:org.jboss.util.NestedSQL

我们正在使用ATG的电子商务网站。现在,我们使用一些调度程序从oracle数据库获取数据。今天我们得到一个“事务未激活”异常

我们将超时时间从300(默认)增加到3000。现在我们没有得到这个异常,但是执行查询需要很长时间。有什么建议吗?在通过sqlserver执行此查询时,所用时间要少得多

例外情况:

2014-07-10 21:17:41888错误[STDERR]容器:atg.repository.RepositoryException;来源:org.jboss.util.NestedSQLException:事务未激活:tx=TransactionImple;-嵌套可丢弃:(javax.resource.ResourceException:事务未激活:tx=TransactionImple) 2014-07-10 21:17:41888 atg.adapter.gsa.GSAItemDescriptor.executeQuery(GSAItemDescriptor.java:7638)处的错误[STDERR] 2014-07-10 21:17:41888 atg.adapter.gsa.GSAView.executeUncachedQuery(GSAView.java:332)处的错误[STDERR] 2014-07-10 21:17:41888 atg.repository.query.QueryCache.executeUncachedQuery(QueryCache.java:693)处的错误[STDERR]


尝试在
/dyn/admin/nucleus/atg/dynamo/service/jdbc/JTDataSource
组件上打开SQL调试器。这将为您提供由RQL语句生成的确切SQL,而RQL语句通常效率不高。警告这将生成大量调试语句,因此只需在短时间内执行,永远不要执行在生产环境中。建议您检查相关列和表是否有索引

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