我想知道EJB容器是否会影响使用EJB的方法调用。我不确定@TransactionAttributes
注释或任何其他注释是否在这种情况下有效。如果有,它是如何在容器中实现的?
@Stateless
public class MyBean {
public void doSomething() {
// logic
doSomethingElse();
// logic
}
@TransactionAttribute(TransactionAttributeType.NOT_SUPORTED)
public void doSomethingElse() {
// logic
}
}
答案 0 :(得分:2)
容器不处理对doSomethingElse()的普通java调用。如果您想进行“EJB调用”,那么您应该使用SessionContext.getBusinessMethod(...):
sessionContext.getBusinessObject(MyBean.class).doSomethingElse();