файл.

ользую Atomikos для транзакции 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 Boot и Atomikos API для транзакции JTA.

Ответы на вопрос(2)

Ваш ответ на вопрос