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

Модератор: Absurd

Ответить
Deady
Сообщения: 193
Зарегистрирован: 17 фев 2004, 13:13
Откуда: Москва
Контактная информация:

зарегистрировал БД с именем 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
?
Deady
Сообщения: 193
Зарегистрирован: 17 фев 2004, 13:13
Откуда: Москва
Контактная информация:

о, маразм. а для переменных программного окружения правильный вариант работает. в 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);
и все работает. :(
jk
Сообщения: 26
Зарегистрирован: 22 дек 2004, 10:15
Контактная информация:

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