Producer-Felder in Session-Beans müssen statisch sein

In der auf OpenWebBeans basierenden Implementierung von Contexts and Dependency Injection (CDI) 1.0 kann eine Anwendung selbst dann erfolgreich gestartet werden, wenn nicht statische Felder mit der Annotation @Produces in Session-Bean-Klassen deklariert sind, obwohl dieses Verhalten mit der Spezifikation CDI 1.0 nicht konform ist. In Weld-Implementierung von CDI 1.2 wird die Anwendung nicht gestartet und löst die folgende Ausnahme aus:

WELD-000096: Producer fields on session beans must be static. Field [{0}] declared on [{1}].

Sie können dieses Problem beheben, indem Sie den Producer-Feldern in Session-Beans den Modifikator "static" hinzufügen.

Diese Regel markiert nicht statische Felder mit der Annotation @Produces, die in Session-Bean-Klassen deklariert sind. Die folgenden Elemente und Annotationen definieren eine Klasse als Session-Bean:

Es gibt eine automatische Korrektur, um diese Probleme in der Anwendung zu beheben. Diese Korrektur kann durch Kopieren der benutzerdefinierte Konfiguration in die Build-Datei Ihrer Anwendung kopieren.

Weitere Informationen finden Sie in den folgenden Quellen: