【发布时间】:2009-10-01 13:23:31
【问题描述】:
我可以通过无状态会话 Bean 调用有状态会话 Bean 吗? SFSB 的客户端是否会自动成为 SLSB 的客户端以保存状态?问题是因为设计是一成不变的,我不能轻易直接调用SFSB。
【问题讨论】:
标签: ejb-3.0
我可以通过无状态会话 Bean 调用有状态会话 Bean 吗? SFSB 的客户端是否会自动成为 SLSB 的客户端以保存状态?问题是因为设计是一成不变的,我不能轻易直接调用SFSB。
【问题讨论】:
标签: ejb-3.0
如果您在业务方法中调用 Statful 会话 bean,没问题。
@Stateless
@EJB(name="ejb/myStateful", beanInterface=MyStateful.class)
public class MySteteless implements MyStatelssBusinessInterface {
@Resource
private SessionContext context;
public void businessMethod() {
MyStateful stateful = (MyStateful) context.lookup("ejb/myStateful");
stateful.doSomething();
}
}
正确:如果您调用 context.lookup,您必须通过 @EJB 注释声明 MyStateful,如上所示。
建议:在无状态中调用有状态是没有意义的。
问候,
【讨论】: