我想知道EJB容器是否对使用EJB的方法调用有影响。我不确定@TransactionAttributes
批注或任何其他批注在这种情况下是否有效。如果有,如何在容器中实现?
@Stateless
public class MyBean {
public void doSomething() {
// logic
doSomethingElse();
// logic
}
@TransactionAttribute(TransactionAttributeType.NOT_SUPORTED)
public void doSomethingElse() {
// logic
}
}
最佳答案
容器不处理对doSomethingElse()的纯Java调用。如果要进行“ EJB调用”,则应使用SessionContext.getBusinessMethod(...):
sessionContext.getBusinessObject(MyBean.class).doSomethingElse();