JNDI
JNDI (Java Naming and Directory Interface) ist ein Verzeichnisbaum für alle gemanagete Ressourcen im WildFly-Container.
Wie ein Dateisystem, aber für EJBs, Datasources und Connections.
I. Wofür?
Jede EJB und jede Datasource bekommt einen Namen im JNDI-Tree. Über diesen Namen kannst du sie auflösen ("lookup").
II. Namespaces
Jede EJB hat 6 Namen beim Deploy:
java:global/[app]/[bean]→ serverweit, alle Appsjava:app/[app]/[bean]→ innerhalb der App (EAR)java:module/[bean]→ innerhalb des Moduls (kürzester Pfad)-
- 3 weitere mit FQCN (Full Qualified Class Name)
Datasources liegen separat unter java:jboss/datasources/....
III. Manueller Lookup
InitialContext ctx = new InitialContext();
CartBean cart = (CartBean) ctx.lookup("java:module/CartBean");
.NET-Vergleich
JNDI ≈ IServiceProvider.GetService<T>() — nur mit String-Pfad statt Generic.