co to jest java: comp / env?

Co oznacza java:comp/env?

Jak wygląda wygląd:

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

Rozumiem, że spojrzenie w stylu:

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

Wyszukuje nazwę MyDatasource w context.xml lub web.xml, aby uzyskać adres URL bazy danych. Naprawdę ? !! ale co robi ten pierwszy ?

Author: saplingPro, 2012-07-24

2 answers

java:comp/env jest węzłem w drzewie JNDI, gdzie można znaleźć właściwości dla bieżącego komponentu Java EE (webapp lub EJB).

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

Umożliwia zdefiniowanie zmiennej wskazującej bezpośrednio na ten węzeł. Pozwala na wykonywanie

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

Zamiast

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

Ścieżki względne zamiast ścieżek bezwzględnych. Do tego jest używany.

 55
Author: JB Nizet,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-05-15 22:08:16

Jest to Globalna tablica hashtable w pamięci, w której możesz przechowywać zmienne globalne według nazwy.

Schemat URL" java: "powoduje, że JNDI szuka klasy javaURLContextFactory, która jest zwykle dostarczana przez kontener aplikacji, np. Oto implementacja Tomcat javadoc

Zobacz także NamingManager.getURLContext

 6
Author: Rich,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-07-24 11:49:01