Страница 1 из 1

Sun Application Server 8 JNDI поблема

Добавлено: 23 дек 2004, 11:30
Deady
зарегистрировал БД с именем jdbc/info.
не понятно, почему неправильный вариант:

Код: Выделить всё

Context initContext = new InitialContext();
DataSource ds = (DataSource)initContext.lookup("jdbc/info");
работает, а правильный вариант:

Код: Выделить всё

Context initContext = new InitialContext();
DataSource ds = (DataSource)initContext.lookup("java:comp/env/jdbc/info");
выдает

Код: Выделить всё

javax.naming.NameNotFoundException: No object bound to name java:comp/env/jdbc/info
?

Добавлено: 23 дек 2004, 13:15
Deady
о, маразм. а для переменных программного окружения правильный вариант работает. в web.xml прописал

Код: Выделить всё

<env-entry>
<env-entry-name>db_url</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>jdbc/info</env-entry-value>
</env-entry>
затем

Код: Выделить всё

Context initContext = new InitialContext();
String url = (String)initContext.lookup("java:comp/env/db_url");
DataSource ds = (DataSource)initContext.lookup(url);
и все работает. :(

Добавлено: 24 дек 2004, 00:20
jk
Deady, ну эт понятно ... а если мне надо параметры из дескриптора развертывания бина (ejb-jar.xml ) выташить? и вообще ... как узнать что дескриптор развертывания проинициализирован???