(Bitte seien Sie nett, das sind meine ersten Schritte in Java EE). Ich arbeite mit Netbeans 8.1 und implementiere ein EJB-Modul auf einem lokalen Glassfish Server. Ich habe eine Glassfish-resource.xml mit der folgenden Ressource definiert:Java EE-Injektion funktioniert nicht auf Glassfish
<jdbc-resource enabled="true" jndi-name="java:app/jdbc/myDataSource"
Und ich habe eine DAO-Klasse, wo ich versuche, die Ressource zu injizieren
@Named
public class SimpleDal {
@Resource(name = "jdbc/myDataSource", lookup = "java:app/jdbc/myDataSource")
private static DataSource ds ;
ich mehrere Möglichkeiten versucht haben, mach das, aber ich habe immer NULL in der Variablen ds. Ich habe den Kontext debuggen und abgefragt, und ich habe immer den Namen java:app/jdbc/myDataSource
nicht gefunden. Vielleicht mache ich etwas nicht richtig, das sind meine ersten Schritte auf Java EE (ich habe immer für PHP entwickelt). Kann mich bitte jemand anweisen, um nicht mehr Zeit zu verlieren? Danke
Hinweis: Ich habe die @Named
Annotation der SimpleDal-Klasse hinzugefügt, weil ich irgendwo gelesen habe, dass, um Injection zu arbeiten, ich auf einer Bohne sein muss.
In CDI ist selten etwas auf statischen Feldern erlaubt, außer es ist in der Dokumentation angegeben. – thatsIch