2016-01-25 11 views
0

Я использую JBoss EAP 6.4 (и Weld 1.1.28) и пытаюсь избавиться от шва 2. Одна из них - переход на CDI. Я получаю следующее (анонимизированную) ошибки:Weld Circular Dependency of the normal scobe beans

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 является «нормальной» сферой. Почему это не работает?

+1

'javax.enterprise.context.SessionScoped'? – Geinmachi

+0

D'oh! Да, я импортировал из javax.faces.bean. Положите это как ответ, и я это проверю. –

ответ

1

@SessionScoped для CDI - javax.enterprise.context.SessionScoped. Если вам приходится комментировать класс с javax.faces.bean.SessionScoped, то ваш класс не управляется CDI. Когда вы попробуете @Inject, тогда это будет @Dependent псевдообласти.