Ограниченные дженерики с CDI
В спецификации JSR-299 в & # xA7; 3.1 говорится:
If the managed bean class is a generic type, it must have scope @Dependent. If a managed bean with a parameterized bean class declares any scope other than @Dependent, the container automatically detects the problem and treats it as a definition error.
Фактически это означает, что вы не можете сделать это:
@Named
@SessionScoped or @RequestScoped or similar
public class MyProducer<T> {...}
Каковы технические причины этого решения?
Будет ли это исправлено в следующей версии CDI случайно?
Есть ли лучшая практика для решения / работы вокруг этого?
Спасибо
EDIT - Обходной путь, который я часто могу использовать, - это введение общего POJO-бина в бин с необходимой областью действия. Часто, но не всегда.