У меня есть приложение Spring с конфигурацией JPA, и я хочу настроить повторные попытки взаимоблокировки. Как я могу настроить это в файле application.properties? В настоящее время у меня есть только эта конфигурация:
spring.datasource.jndi-name=java:/global/test
spring.datasource.driver-class-name=org.mariadb.jdbc.Driver
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MariaDBDialect
spring.jpa.show-sql = true
spring.jpa.hibernate.ddl-auto = update
В соответствии с разделом Приложение A. Общие свойства application.properties документа официальная документация Spring вы можете настроить:
spring.jta.atomikos.properties.recovery.max = n
# ^-- retry count here, n >= 0, default = 5.
учитывая, что вы используете Атомикос как JTA-провайдер в своем приложении во время выполнения. С настроенным Atomikos вы можете повторить — по крайней мере — неудачные транзакции:
Number of retry attempts to commit the transaction before throwing an exception.
Это, однако, не гарантирует, что тупиковые ситуации будут разрешены до того, как будут предприняты повторные попытки 1 или н.
Вы также можете проверить недвижимость
spring.jta.atomikos.properties.recovery.retry-interval=10000ms
который настраивает «задержку между повторными попытками».
Надеюсь это поможет.
Нет, о чем я знаю. Вы можете отсканировать/проверить «Приложение A — раздел Common application.properties» на наличие свойств, которые могут помочь; Я не нашел никаких других свойств релевантности.
Я использую JpaTransactionManager. Есть ли какое-нибудь решение для этого?