JTA 事务意外回滚(可能是由于超时);嵌套异常是
javax.transaction.RollbackException: The transaction was set to rollback only
由于 JPA,我收到超时异常:如何增加事务所需的时间?
我应该在哪里包含解决此问题的参数?
我正在使用tomcat 7。
您要更改的参数是 JTA 事务的最大超时。
如果您使用的是 Atomikos(我相信这是大多数人在 Tomcat 中使用的),您可以通过com.atomikos.icatch.max_timeout
属性或通过com.atomikos.icatch.default_jta_timeout
属性进行设置。可以通过 JVM 命令行参数或 Spring Integration(在此处描述)来设置此属性。
有关 Atomikos 的配置 (JTA) 属性的更多信息,请参见此处。
如果您使用的是 Bitronix,您可以bitronix-default-config.properties
在类路径中添加一个文件,然后在bitronix.tm.timer.defaultTransactionTimeout=<value>
该文件中添加一行。请参阅此处了解更多信息。