![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
VMA |
|
||||||||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 13.3.2008 Где: Самара Репутация: нет Всего: нет |
Доброго времени суток, уважаемые!
C javой знаком я относительно недавно, поэтому в терминологии не силен имеется проект J2EE Сессион бин для работы с базой
Бин UserRightsBean для jsf страницы
и вот в строке List<Users> result = usersFacade.findAll(); переменная usersFacade=null, соответственно вылетает эксепшн -------------------------------------------------------------------------------------------------------------------------- пытался избежать этой ситуации (поверил сам себе на слово, что на этапе конструктора подключение к базе ещё не инициализировано) создав в бине статическую переменную
класс UserRightsBasic, где содержится вся логика работы с базой
и тут меня постигла неудача в строке List<Users> result = usersFacade.findAll(); где usersFacade = null использую GlassFishV2 для работы с базой Hibernate Это сообщение отредактировал(а) VMA - 14.3.2008, 10:43 |
||||||||
|
|||||||||
mbasil |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 399 Регистрация: 4.5.2007 Где: Москва Репутация: 9 Всего: 13 |
Похоже, что впрыскивания ресурса не происходит.
Попробуйте прямым поиском в JNDI:
|
|||
|
||||
VMA |
|
||||||||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 13.3.2008 Где: Самара Репутация: нет Всего: нет |
вылетает javax.naming.NameNotFoundException: UsersFacade not found делал
получил javax.naming.NameNotFoundException: UsersFacade not found потом
все тоже самое javax.naming.NameNotFoundException |
||||||||
|
|||||||||
mbasil |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 399 Регистрация: 4.5.2007 Где: Москва Репутация: 9 Всего: 13 |
То есть сеансовый компонент в JNDI не находится и причина непонятна.
Можно попробовать в дескрипторе развертывания описать его явно. |
|||
|
||||
VMA |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 13.3.2008 Где: Самара Репутация: нет Всего: нет |
добавил в web.xml
в конструкторе пытаюсь выцепить
javax.naming.NameNotFoundException: UsersFacade not found
и все равно javax.naming.NameNotFoundException: No object bound to name java:comp/env/UsersFacade |
||||||
|
|||||||
mbasil |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 399 Регистрация: 4.5.2007 Где: Москва Репутация: 9 Всего: 13 |
Загадка. Вы пользуетесь NetBeans?
GlassFishV2 это ведь изобретение SUN. Можно попробовать состряпать NetBeans'ом простейшее приложение без всякого Hibernate и попробовать развернуть на GlassFish. Возможно дело в том конфигурационном файле, специфическом для сервера, который содержит описание приложения. NetBeans такой файл создает автоматически. |
|||
|
||||
VMA |
|
||||||||||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 13.3.2008 Где: Самара Репутация: нет Всего: нет |
Да. Использую Нетбинс 6.0
сменил Hibernate на OpenJPA, ничего не поменялось, да думаю и не в нем дело. проблема в том, что просматривая содержимое InitialContext
там даже и не пахнет ссылками на какие-либо сессион бины. получается в конструкторе
usersFacade равен null и в InitialContext ссылки на него нет... вне конструктора, в методе этого класса (убрав всю реализацию из конструктора), usersFacade не равен null, но в InitialContext опять же ничего нет ---------------------------------------------------------------------------------------------------------------------------- перелопатил несколько примеров, которые нормально работали..... где и классы и дескриптор развертывания были описан так же ===web.xml===
только в моем случае при деплое проекта вылетает ошибка:
Это сообщение отредактировал(а) VMA - 19.3.2008, 10:27 |
||||||||||
|
|||||||||||
infestator |
|
||||||||||||||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 20.10.2008 Репутация: нет Всего: нет |
моя проблема немного не подходит под заголовок, но, по-моему, в тему содержания.
суть в том, что сначала у меня тоже был NamingException (это когда в бинах для jsf пытался делать di бинов ejb). но потом я решил, что всё это фигня и написал простейшее приложение... значит так, есть два бина с локальными интерфейсами: Bean1 interface:
Bean1 implementation:
Bean2 interface:
Bean1 implementation:
вроде бы всё замечательно и мой ежб модуль компилируется и деплоится в гласфиш. но всё становится значительно хуже, когда я создаю веб-приложение, в котором написано что-то типа: faces-config.xml
а на веб страничке (не буду её выкладывать, она на ричфэйсах и это не в тему, по-моему, будет) единственная кнопка, по нажатию которой вызывается тот самый метод Bean2Bean.test. и как оказалось, пока у меня в сервер приложений (кстати, гласфиш2) задеплоин test.Bean2Bean со строчками, в которых инжектится Bean1Local, моё веб приложение отказывается деплоится, выдавая что-то такое:
когда я убираю (коментирую строчки) с dependency injection в test.Bean2Bean
то всё работает. при этом, даже если в faces-config.xml я скажу использовать test.Bean1Bean (там используется test.Bean2Bean), то оно не будет работать до тех пор, пока в test.Bean2Bean есть dependency injection. деплоймент дескрипторы я решил даже не трогать, т.к. в ежб3 они должны быть не нужны. |
||||||||||||||
|
|||||||||||||||
infestator |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 20.10.2008 Репутация: нет Всего: нет |
оказалось, что я не умею нормально деплоить. научился. теперь у меня та же ошибка, что и в этом топике:
собственно, есть какое-нить решение? Добавлено через 11 минут и 48 секунд чорт, чо-то я невнимательный сегодня. автору трэда (если вообще ещё актуально) и тем, кто с этим будет сталкиваться: в конструкторе все инжектируемые переменные будут нулами. используйте @PostContruct аннотированные методы, которые вызываются сразу после создания. контейнер не может делать инъекцию в несозданный объект, потому там ничего и недоступно. p.s. сорри, нафлудил; но у меня проблема не в конструкторе, а в методе, поэтому актуально) |
|||
|
||||
infestator |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 20.10.2008 Репутация: нет Всего: нет |
чо-то сделал, всё заработало. странная эта штука жава ее...
|
|||
|
||||
alexadr |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 112 Регистрация: 25.9.2006 Репутация: нет Всего: 4 |
Сам не пробывал, но насколько мне известно, в переменная аннотированная как EJB будет заполнена после того как будет отработан конструктор класса UserRightsBean. А вот когда этот конструктор отработает, то контейнер у созданного объекта проинициализирует все что нужно. Т.е. скорее всего при вызове какого нить метода UserRightsBean переменная usersFacade будет не нулевой. Это сообщение отредактировал(а) alexadr - 21.10.2008, 14:52 |
|||
|
||||
Asal |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 288 Регистрация: 26.12.2006 Где: Минск Репутация: 4 Всего: 7 |
||||
|
||||
![]() ![]() ![]() |
Правила форума "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. |