我正在使用Atomikos進行JTA事務。 我爲JTA以下設置:將jta事務超時從默認更改爲自定義
UserTransactionImp userTransactionImp = new UserTransactionImp();
userTransactionImp.setTransactionTimeout(900);
但是當我的代碼執行JTA事務,那麼如果它需要超過5分鐘(這是默認值),那麼它會拋出異常:
Caused by: com.atomikos.icatch.RollbackException: Prepare: NO vote
at com.atomikos.icatch.imp.ActiveStateHandler.prepare(ActiveStateHandler.java:231)
at com.atomikos.icatch.imp.CoordinatorImp.prepare(CoordinatorImp.java:681)
at com.atomikos.icatch.imp.CoordinatorImp.terminate(CoordinatorImp.java:970)
at com.atomikos.icatch.imp.CompositeTerminatorImp.commit(CompositeTerminatorImp.java:82)
at com.atomikos.icatch.imp.CompositeTransactionImp.commit(CompositeTransactionImp.java:336)
at com.atomikos.icatch.jta.TransactionImp.commit(TransactionImp.java:190)
... 25 common frames omitted
它看起來像它採取默認的jta事務超時(即使我設置超時明確(至15分鐘/ 900秒)
我嘗試使用application.properties文件中的以下屬性,但它仍然採用默認超時值(300秒)。
spring.jta.atomikos.properties.max-timeout=600000
spring.jta.atomikos.properties.default-jta-timeout=10000
我也試圖與下面財產,但沒有運氣:
spring.transaction.default-timeout=900
任何人都可以提出,如果我需要任何其他設置?我正在使用wildfly插件,spring引導和atomikos api進行JTA事務。