2013-08-25 138 views
4

JTA事務意外回滾(可能是由於超時);嵌套的例外是在JTA配置中設置超時

javax.transaction.RollbackException: The transaction was set to rollback only 

我得到一個超時異常由於JPA:我怎樣才能增加所需事務的時間?

我應該在哪裏包含參數來解決這個問題?

我使用Tomcat 7

+1

我可能是錯的,但我不認爲JTA是Tomcat 7的一項功能,它已被添加到您的Tomcat 7環境中。你必須弄清楚你的JTA實現是什麼,或者閱讀文檔或者在這裏更新你的問題以獲得更多相關信息。 – Dev

回答

5

要更改的參數是您JTA事務的最大超時。

如果您使用的是Atomikos(我相信這是大多數人使用的Tomcat),您可以通過com.atomikos.icatch.max_timeout屬性或通過com.atomikos.icatch.default_jta_timeout屬性來設置它。該屬性可以通過JVM命令行參數或通過Spring集成進行設置(描述here)。

有關Atomikos的配置(JTA)屬性的更多信息可在here找到。

如果您使用的是Bitronix,您可以將bitronix-default-config.properties文件添加到您的類路徑,然後將bitronix.tm.timer.defaultTransactionTimeout=<value>行添加到該文件。有關更多信息,請參見here