Państwa specyfikacji JSR-299 w §3.1:ograniczeniami rodzajowych z CDI
Jeśli udało klasa fasola jest typem generycznym, musi mieć zakres @Dependent. Jeśli zarządzany komponent bean ze sparametryzowaną klasą komponentu bean zadeklaruje dowolny zakres inny niż @ niezależny, kontener automatycznie wykryje problem i potraktuje go jako błąd definicji.
Skutecznie co oznacza, że nie można tego zrobić:
@Named
@SessionScoped or @RequestScoped or similar
public class MyProducer<T> {...}
Jakie są przyczyny techniczne dla tej decyzji?
Czy zostanie to naprawione w nadchodzącej wersji CDI przez przypadek?
Czy istnieje najlepsza praktyka do radzenia sobie z tym problemem?
Dziękuję
EDIT - obejście mogę często wykorzystują to, aby wprowadzić ogólny POJO fasoli w fasoli z niezbędnego zakresu. Często, ale nie zawsze.
Świetne pytanie, przy okazji.Nie wiedziałem o tym ograniczeniu i naprawdę cię to zastanawia. –