• Post Reply Bookmark Topic Watch Topic
  • New Topic

the container retry timeout method when transaction rollback/fails  RSS feed

 
Himai Minh
Ranch Hand
Posts: 1499
9
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
On p.61 of Frit's notes, it says if a system exception occurs in the @Timeout/ @Timeout's interceptor, the container will
1. log the exception,
2. rollback the transaction if there is a transaction and
3. discard the bean instance (except for singleton bean).

Enthuware also points out one more action the container will do : retry the timeout method at least once for CMT bean, but not sure about BMT bean as the specification does not mention about BMT.
According to session 18.4.3.
if the transaction fails or is rolled back, the container must retry the timeout method at least once.
(This is applicable to CMT, but it does not mention if BMT bean will retry after a transaction is rolled back or fails.

I believe this retry will apply to application exception with @ApplicationException (rollback=true)

  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!