我想知道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();

10-07 12:40