87 votes

qu'est-ce que java:comp/env ?

Ce que l'on entend par java:comp/env ?

A quoi ressemble le look up :

Context envContext = (Context)initContext.lookup("java:comp/env");

faire ?

Je comprends qu'une recherche comme :

(DataSource)envContext.lookup("jdbc/MyDatasource")

cherche le nom MyDatasource dans le context.xml ou web.xml pour obtenir l'URL de la base de données. C'est vrai ? ! ! Mais que fait l'ancien look up ?

74voto

JB Nizet Points 250258

java:comp/env est le nœud de l'arbre JNDI où vous pouvez trouver les propriétés du composant Java EE actuel (une webapp, ou un EJB).

Context envContext = (Context)initContext.lookup("java:comp/env");

permet de définir une variable pointant directement sur ce nœud. Il permet de faire

SomeBean s = (SomeBean) envContext.lookup("ejb/someBean");
DataSource ds = (DataSource) envContext.lookup("jdbc/dataSource");

plutôt que

SomeBean s = (SomeBean) initContext.lookup("java:comp/env/ejb/someBean");
DataSource ds = (DataSource) initContext.lookup("java:comp/env/jdbc/dataSource");

Chemins relatifs au lieu de chemins absolus. C'est à cela qu'il sert.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X