Для создаваемой транзакции может быть указан таймаут в секундах, при превышении которого транзакция будет прервана и откачена. Таймаут транзакции ограничивает максимальную длительность запросов к базе данных.
При программном управлении транзакциями таймаут включается путем передачи объекта TransactionParams
в метод Persistence.createTransaction()
. Например:
Transaction tx = persistence.createTransaction(new TransactionParams().setTimeout(2));
При декларативном управлении транзакциями используется параметр timeout
аннотации @Transactional
, например:
@Transactional(timeout = 2) public void someServiceMethod() { ...
Таймаут по умолчанию может быть задан в свойстве приложения cuba.defaultQueryTimeoutSec .