Košík je prázdný

Java Naming and Directory Interface (JNDI) je API poskytované platformou Java, které umožňuje klientům objevovat a získávat data a objekty prostřednictvím jmen a adresářových služeb. JNDI je nezbytným nástrojem pro vývojáře Java EE, protože umožňuje jednoduchý a konzistentní přístup k distribuovaným zdrojům jako jsou databáze, e-mailové služby, JMS, a další.

Základní konfigurace JNDI

Pro využití JNDI je nejdříve nutné provést základní konfiguraci v prostředí, ve kterém bude aplikace spuštěna. Tato konfigurace obvykle zahrnuje definování zdrojů, které mají být přístupné přes JNDI, ve webovém kontejneru nebo aplikaci serveru.

1. Konfigurace zdroje dat

Konfigurace zdroje dat začíná vytvořením JNDI jména, které bude asociováno s daným zdrojem dat. Například, v Apache Tomcat, může být zdroj dat definován v souboru context.xml takto:

<Resource name="jdbc/MyDataSource" auth="Container"
          type="javax.sql.DataSource" driverClassName="com.mysql.jdbc.Driver"
          url="jdbc:mysql://localhost:3306/mydb" username="user" password="password"
          maxActive="20" maxIdle="10" maxWait="-1"/>

Tímto způsobem je zdroj dat jdbc/MyDataSource dostupný pro aplikace běžící na serveru Tomcat.

2. Přístup k zdrojům přes JNDI

Po konfiguraci zdroje dat může aplikace získat přístup k tomuto zdroji pomocí JNDI lookup. To se obvykle provádí pomocí InitialContext objektu, jak je ukázáno v následujícím příkladu:

Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
DataSource ds = (DataSource) envCtx.lookup("jdbc/MyDataSource");

Využití JNDI v praxi

Využití JNDI přináší několik výhod. Nejvýznamnější z nich je oddělení konfigurace zdrojů od aplikace, což zjednodušuje správu aplikace a umožňuje změnit zdroje bez nutnosti překompilování nebo zásahů do aplikace.

1. Správa závislostí

JNDI umožňuje centralizovanou správu závislostí aplikace na externí zdroje, což zjednodušuje konfiguraci a zvyšuje flexibilitu při změnách infrastruktury.

2. Bezpečnost

Konfigurace zdrojů mimo aplikaci také přináší bezpečnostní výhody, protože citlivé informace jako jsou přihlašovací údaje k databázi mohou být uchovávány a spravovány centralizovaně.

 

JNDI je mocným nástrojem pro vývojáře Java EE, který umožňuje jednoduchý a efektivní přístup k rozličným zdrojům. Správná konfigurace a využití JNDI mohou výrazně zjednodušit vývoj a správu Java EE aplikací. Vzhledem k jeho flexibilitě a široké podpoře v rámci Java ekosystému by JNDI mělo být klíčovou součástí každého vývojového projektu zaměřeného na podnikové aplikace.