循环调用内部方法的事务回滚
Transaction rollback with loop calling inner method
您好,我对一个 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){}
}
}
需要从另一个bean 调用它。 https://www.adam-bien.com/roller/abien/entry/how_to_self_invoke_ejb
激活新交易有两种选择:
- SessionContext.getBusinessObject(local_interface).method_call
- 从另一个 bean 调用 bean。
之所以需要这样做是因为容器需要拦截您的调用。而且它只能在您使用注入或查找实例时执行此操作。
您好,我对一个 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){}
}
}
需要从另一个bean 调用它。 https://www.adam-bien.com/roller/abien/entry/how_to_self_invoke_ejb
激活新交易有两种选择:
- SessionContext.getBusinessObject(local_interface).method_call
- 从另一个 bean 调用 bean。
之所以需要这样做是因为容器需要拦截您的调用。而且它只能在您使用注入或查找实例时执行此操作。