Откат транзакции с вызовом внутреннего метода l oop - PullRequest
0 голосов
/ 18 июня 2020

Здравствуйте, у меня вопрос об откате транзакции в одном bean-компоненте. Я пытаюсь разрешить процессу игнорировать плохую запись и продолжить отдых. Как в примере. Если db.update вызовет непроверенное исключение, он откатит все изменения?

@Stateless
public class klass{
 @Transational(NEVER)
 public methodA(){
 list = db.getList();
 for(i : list){
  methodB(i);
 }

 @Transactional(REQUIRE_NEW)
 public methodB(arg){
  try{
  db.update(arg, CLOSE);
  }catch(Exception){}
 }
}

Ответы [ 2 ]

1 голос
/ 20 июня 2020

Для активной новой транзакции есть два варианта:

  1. SessionContext.getBusinessObject (local_interface) .method_call
  2. Вызов bean из другого bean-компонента.

Причина, по которой вам нужно это сделать, заключается в том, что контейнер должен перехватить ваш вызов. И это возможно только тогда, когда вы используете внедренный или поисковый экземпляр.

0 голосов
/ 19 июня 2020

Нужно вызвать его из другого bean-компонента. https://www.adam-bien.com/roller/abien/entry/how_to_self_invoke_ejb

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...