我正在使用Hibernate和Atomikos for JTA作为我的一个概念证明。我得到一个意外的JTA事务回滚异常,可能是由于超时。例外是:
javax.transaction.RollbackException: Prepare: NO vote
答案 0 :(得分:5)
如果请求提交事务但由于超时已经回滚,则会发生此错误。所以你的假设是完全正确的。解决方案是增加 交易超时。
答案 1 :(得分:0)
您可以使用 spring 配置增加事务的超时时间,例如通过使用值声明 transactional.properties 文件,
com.atomikos.icatch.max_actives=100
com.atomikos.icatch.log_base_name=atomikos-log
com.atomikos.icatch.log_base_dir=transaction-logs-dir/
com.atomikos.icatch.registered=true
com.atomikos.icatch.default_jta_timeout=10000
com.atomikos.icatch.max_timeout=20000