我正在使用JBoss EAP 6.4(和Weld 1.1.28)并试图摆脱Seam 2.其中一部分是切换到CDI。我得到以下(匿名)错误:
org.jboss.weld.exceptions.DeploymentException: WELD-001443 Pseudo scoped bean
has circular dependencies. Dependency path
[Managed Bean [A] with qualifiers [@Default @Any @Named],
Managed Bean [B] with qualifiers [@Default @Any],
Managed Bean [C] with qualifiers [@Default @Any],
Managed Bean [D] with qualifiers [@Default @Any],
Managed Bean [C] with qualifiers [@Default @Any]]
然而,其中每一个都是@SessionScoped
,所以看起来这应该有效,因为@SessionScoped
是一个“正常”范围。为什么这不起作用?
答案 0 :(得分:1)
@SessionScoped
为javax.enterprise.context.SessionScoped
。如果您碰巧使用javax.faces.bean.SessionScoped
注释课程,则您的课程不受CDI管理。当您尝试@Inject
时,它将@Dependent
伪范围。