SessionContext RollBackOnly и MDB

Имея MDB, который получает сообщение в транзакции, а затем выполняет несколько вызовов EJB, если я вызываю один из этих EJB this.sessionContext.setRollbackOnly(), вызовет ли это повторную доставку сообщения JMS?

Все методы EJB отмечены атрибутом транзакции Requires_New.


person Sergiu    schedule 13.09.2011    source источник


Ответы (1)


Нет, потому что транзакция MDB будет приостановлена, пока компоненты EJB, аннотированные @REQUIRES_NEW, обрабатываются каждый в своей собственной транзакции. Дополнительным предположением является то, что setRollbackOnly() является единственным эффектом отката транзакции EJB, то есть EJB вышел правильно и не выдал никакого исключения (после голосования за откат дальнейшее взаимодействие с ресурсом может вызвать исключение из семейства javax.ejb.EJBException). ).

person MaDa    schedule 14.09.2011