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:

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.