无法从@stateless转换为@stateful bean

时间:2011-11-13 14:59:01

标签: dependency-injection glassfish ejb stateless stateful

我遇到了在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

0 个答案:

没有答案