Какой таймаут используется в транзакции JTA

У меня есть аннотированный метод:

@Transactional(timeout = 600)

а затем в конфигурации сервера weblogic я установил тайм-аут JTA на 60 с. Итак, какой тайм-аут будет использоваться в этой процедуре?


person hudi    schedule 09.09.2013    source источник


Ответы (1)


Я предполагаю, что для всех @Transactional методов/классов, где тайм-аут не указан, берется значение по умолчанию 60 для веблогики. Если вы укажете таймаут T (как в вашем примере), то он будет взят. Так что в вашем случае для этого метода это будет 600.

person Andrei I    schedule 09.09.2013
comment
да, я знаю, какой тайм-аут используется, когда я не устанавливал его в качестве параметра, но вы не ответили на мой вопрос. - person hudi; 09.09.2013
comment
ок, спасибо, теперь понятно. Вы на 100% уверены? Можете скинуть ссылку где описана эта ситуация - person hudi; 09.09.2013
comment
Я почти уверен, так как это похоже на JBoss, но я не проверял. Вы можете проверить это довольно просто: 1. уменьшите время ожидания weblogic до 3 секунд. 2. Установите таймаут метода на 60 и в методе возьмите crt. time и сделать цикл while, в котором итерация проверяет, прошло ли 50 секунд. Если исключение TransactionTimeoutException не выдается, эта аннотация @Transactional перезаписывает значение по умолчанию weblogic. - person Andrei I; 09.09.2013