我遇到了在glassfish3.1上实例化有状态会话bean的问题。
JSF应用程序的@ManagedBean(会话范围),用于使用@Stateless会话bean的@Local接口,一切正常。
现在我不得不转换为@Stateful bean,当我尝试将有状态bean注入到管理bean中时,我得到一个异常。
有问题的代码由以下3层组成:
@ManagedBean
@SessionScoped
public class ShopBean {
private @EJB ShopAdminInterface sa;
...
}
@Local
public interface ShopAdminInterface {
.... some interfaces
}
@Stateful
public class ShopAdmin implements ShopAdminInterface {
@EJB CoreClassEAO s;
... some implementation
}
CoreClassEAO为数据库提供了一个访问层,如下所示:
@Stateful
public class CoreClassEAO {
@PersistenceContext
EntityManager em;
.... access to my persistence interface
}
在上一个版本中,当ShopAdmin和CoreClassEAO都是@Stateless bean时,一切都运行良好。但现在,注入ShopAdminInterface会向我抛出异常
更新:我缩小了问题:查看我的其他问题 Injecting @Stateful bean into another @Stateful bean