Nell'implementazione di CDI (Contexts and Dependency Injection) 1.0 OpenWebBeans, un'applicazione può partire correttamente anche se i campi con l'annotazione @Produces vengono dichiarati nelle classi del bean di sessione, anche se il comportamento non è congruente alla specifica CDI 1.0.
Nell'implementazione di CDI 1.2 Weld, l'applicazione non parte e genera la seguente eccezione:
WELD-000096: Producer fields on session beans must be static. Field [{0}] declared on [{1}].
È possibile risolvere questo problema aggiungendo il modificatore statico nei campi del produttore nel bean di sessione.
Questa regola contrassegna i campi non statici con l'annotazione @Produces dichiarata nelle classi del bean di sessione.
I seguenti elementi ed annotazioni definiscono una classe come bean di sessione:
ejb-jar.xml ejb-jar.xml ejb-jar.xml @Singleton, @Stateless o @Stateful nella dichiarazione della classeEsiste una soluzione automatica per risolvere questi problemi nell'applicazione. Questa soluzione può essere applicata copiando la configurazione nel file di compilazione dell ' applicazione.
Per ulteriori informazioni, consultare le seguenti risorse: