![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| Alexandr87 |
|
||||||||||
![]() дыкий псых ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1459 Регистрация: 27.11.2004 Где: Алматы, Казахстан Репутация: 6 Всего: 39 |
Вобщем, пытаюсь забиндить data source в JBOSS jboss-4.0.4.GA
postgresql-ds.xml
Когда запускаю сервер он, среди прочего, выводит
Далее, вот это работает
, а вот это уже нет
експ
Почему так? Это сообщение отредактировал(а) Alexandr87 - 20.10.2006, 10:58 |
||||||||||
|
|||||||||||
| Alexandr87 |
|
|||
![]() дыкий псых ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1459 Регистрация: 27.11.2004 Где: Алматы, Казахстан Репутация: 6 Всего: 39 |
Это у меня одного или нет?
Ктондь попробуйте забиндить чтондь на этот адрес. |
|||
|
||||
| tux |
|
|||
![]() Летатель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1853 Регистрация: 10.2.2005 Где: msk.ru Репутация: 74 Всего: 132 |
А ты в web.xml ссылку на ресурс прописывал?
|
|||
|
||||
| Alexandr87 |
|
|||
![]() дыкий псых ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1459 Регистрация: 27.11.2004 Где: Алматы, Казахстан Репутация: 6 Всего: 39 |
Нет, ведь первый вариант работает. Сейчас попробывал добавить
|
|||
|
||||
| tux |
|
|||
![]() Летатель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1853 Регистрация: 10.2.2005 Где: msk.ru Репутация: 74 Всего: 132 |
Первый вариант работает потому что ты обращаешься напрямую к сервису JNDI. java:comp/env предполагает, что используется ссылка, описанная в web.xml. Приведи то, что у тебя в web.xml написано.
|
|||
|
||||
| Alexandr87 |
|
||||||||
![]() дыкий псых ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1459 Регистрация: 27.11.2004 Где: Алматы, Казахстан Репутация: 6 Всего: 39 |
Итак,
web.xml
postgres-ds.xml
, соответственно при старте сервера в логах есть
Вызывается из NewServlet2.java, правда после добавления resource-ref в web.xml, приложение даже не деплоится, ошибка в посте выше.
|
||||||||
|
|||||||||
| Alexandr87 |
|
|||
![]() дыкий псых ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1459 Регистрация: 27.11.2004 Где: Алматы, Казахстан Репутация: 6 Всего: 39 |
Это у меня одного?
|
|||
|
||||
| tux |
|
||||||
![]() Летатель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1853 Регистрация: 10.2.2005 Где: msk.ru Репутация: 74 Всего: 132 |
Да!!! Значит так. В postgresql-ds.xml определяется под каким именем в дереве JNDI будет лежать объект источника данных. Ты пытаешься обратиться к нему по ссылке, в чем есть смысл - используя ссылку можно легко переключиться на другой источник данных ничего не меняя в приложении. Далее, в web.xml описывается имя, под которым ресурс известен приложению. То есть у нас есть "физическое" и "логическое" имена ресурсов. А теперь вопрос - каким образом они должны между собой связываться? Ведь при обращении по ссылке, начинающейся с java:comp/env/, мы должны получить тот ресурс, который находится по "физическому" адресу в JNDI. Вот этот момент связи у тебя очевидно и пропущен. Для того, чтобы обеспечить такую связь используется специфичный для JBoss конфиг - jboss-web.xml. Приведу то, что получилось у меня, думаю там все понятно. postgres-ds.xml:
Здесь определяется физическое имя jdbc/lrn1. web.xml:
Здесь определяется логическое имя jdbc/data-source. jboss-web.xml:
Здесь определяется связь между логическим именем (тэг res-ref-name) и физическим именем (тэг jndi-name). Заметь, что сервис JNDI в JBoss все ресурсы хранит в дереве начиная с префикса "java:/". |
||||||
|
|||||||
| Alexandr87 |
|
||||||
![]() дыкий псых ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1459 Регистрация: 27.11.2004 Где: Алматы, Казахстан Репутация: 6 Всего: 39 |
jboss-web.xml
web.xml
postgresql-ds.xml тот-же вызываю так
получаю так javax.servlet.ServletException: aaa not bound Я вот воткнутся не могу. короч видать придется забить на java:comp/env и писать как в первом посте в первом варианте - так никаких проблемм не возникает, но все же интересно - почему и как сделать. |
||||||
|
|||||||
| tux |
|
|||
![]() Летатель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1853 Регистрация: 10.2.2005 Где: msk.ru Репутация: 74 Всего: 132 |
"aaa/lrn1" действительно not bound. Все, что не начинается с java:comp/env JNDI API пытается найти в дереве JNDI, а у тебя там нет такого узла. К ссылке можно обратиться только так: java:comp/env/aaa/lrn1.
Попробуй так:
и все должно работать. |
|||
|
||||
| Alexandr87 |
|
|||
![]() дыкий псых ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1459 Регистрация: 27.11.2004 Где: Алматы, Казахстан Репутация: 6 Всего: 39 |
tux, большое спасибо!!!!!! Помог разобраться с сумбуром в моей голове.
|
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |