|
|
|
Почему возникает NullPointerException при вызове persist
|
|||
|---|---|---|---|
|
#18+
0FDт.е. CSVBean implemetns RemoteCSV, как тогда создается CSV_Creator? или это базовый? Респект за внимательность. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2014, 16:57 |
|
||
|
Почему возникает NullPointerException при вызове persist
|
|||
|---|---|---|---|
|
#18+
BlazkowiczТоже инжектить через @EJB ... Не хотел создавать тему, но у меня возникает NullPointerException при инжекте через @EJB. Прошу прощение за тупость, но реально хочу разобраться, а ответа в инете пока не нашел. Разъясните, если хватит терпения) Через JNDI-lookup у меня получилось вызвать метод бина. Теперь хочу сделать это через DI. Что сделал (взял большую часть из "Manning In Action Series - EJB 3"): Написал следующий код и задеплоил на сервер jar-ник: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Написал консольное приложение (достали примеры в инете и книге с HttpServlet): Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Возникает соответственно NullPointerException. Почему не произошло это DI? В голову пришла нелепая идея изменить @Local на @Remote у HelloUser добавить в jar-ник следующее: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. и в консольном приложении в main сделать так: Код: java 1. 2. и убрать поле bean. Я просто не совсем понял отличие @Local от @Remote.... Что я делаю не так, подскажите? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2014, 15:02 |
|
||
|
Почему возникает NullPointerException при вызове persist
|
|||
|---|---|---|---|
|
#18+
А вот ответ в инете, нужно запускать в Application Client Container вот он и сделает все DI, например glassfish: http://blogs.steeplesoft.com/posts/2011/02/22/java-ees-buried-treasure-the-application-client-container/ для jboss тоже есть BlazkowiczРеспект за внимательность. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2014, 15:26 |
|
||
|
Почему возникает NullPointerException при вызове persist
|
|||
|---|---|---|---|
|
#18+
@EJB не на клиенте надо использовать. А на сервере вместо new MySessionBean(). А на standalone клиенте только JNDI lookup. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2014, 16:11 |
|
||
|
Почему возникает NullPointerException при вызове persist
|
|||
|---|---|---|---|
|
#18+
Blazkowicz@EJB не на клиенте надо использовать. А на сервере вместо new MySessionBean(). А на standalone клиенте только JNDI lookup. ааа... дайте пистолет... я вообще ничегошеньки не понимаю... давайте внесем ясность. standalone - это мое "консольное приложение", т.е. клиент. так? если так, то я на сервере не использовал нигде new. Исходя из статьи указанной by 0FD и тому небольшому опыту поиска в инете, я имею смелость заявить, что в EJB2.1 использовался только JNDI lookup, а с приходом EJB3 отпала необходимость в оном. Где истина, я не въезжаю.... Поправьте меня, пожалуйста! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2014, 16:41 |
|
||
|
Почему возникает NullPointerException при вызове persist
|
|||
|---|---|---|---|
|
#18+
NDAlekseyааа... дайте пистолет... я вообще ничегошеньки не понимаю... давайте внесем ясность. standalone - это мое "консольное приложение", т.е. клиент. так? если так, то я на сервере не использовал нигде new. Исходя из статьи указанной by 0FD и тому небольшому опыту поиска в инете, я имею смелость заявить, что в EJB2.1 использовался только JNDI lookup, а с приходом EJB3 отпала необходимость в оном. Где истина, я не въезжаю.... Поправьте меня, пожалуйста! А это мне примерещилось? 15409327 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2014, 16:44 |
|
||
|
Почему возникает NullPointerException при вызове persist
|
|||
|---|---|---|---|
|
#18+
BlazkowiczА это мне примерещилось? 15409327 нет)) там Вы совершенно правы, но я уже спрашиваю по поводу этого - 15413685 если нетрудно, посмотрите, пожалуйста. хочу понять... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2014, 16:51 |
|
||
|
Почему возникает NullPointerException при вызове persist
|
|||
|---|---|---|---|
|
#18+
NDAlekseyнет)) там Вы совершенно правы, но я уже спрашиваю по поводу этого - 15413685 если нетрудно, посмотрите, пожалуйста. хочу понять... А там у вас на клиенте используется @EJB, а на клиенте CDI не работает без контейнера. Только если клиент - тоже JEE модуль. А у вас standalone клиент. Там нужен lookup. Что не понятного? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2014, 16:58 |
|
||
|
Почему возникает NullPointerException при вызове persist
|
|||
|---|---|---|---|
|
#18+
BlazkowiczNDAlekseyнет)) там Вы совершенно правы, но я уже спрашиваю по поводу этого - 15413685 если нетрудно, посмотрите, пожалуйста. хочу понять... А там у вас на клиенте используется @EJB, а на клиенте CDI не работает без контейнера. Только если клиент - тоже JEE модуль. А у вас standalone клиент. Там нужен lookup. Что не понятного? да вот читаю указанную статейку, и теперь понимаю, что действительно standalone не подходит... нужно пересоздавать приложение как JEE... просто в вышеуказанной книжке, в той главе про DI не оговаривается (хотя может я пропустил).... вот и спросил. кстати, я пробовал использовать на сервере вместо PersistenceContext @EJB, сразу после того, как Вы посоветовали... и опять у меня вывалилось с null-ом.... но я потом с этим сам разберусь.... спасибо большое! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2014, 17:08 |
|
||
|
Почему возникает NullPointerException при вызове persist
|
|||
|---|---|---|---|
|
#18+
NDAlekseyкстати, я пробовал использовать на сервере вместо PersistenceContext @EJB, сразу после того, как Вы посоветовали... и опять у меня вывалилось с null-ом.... но я потом с этим сам разберусь.... спасибо большое! Потому что EntityManager это не EJB. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2014, 17:09 |
|
||
|
Почему возникает NullPointerException при вызове persist
|
|||
|---|---|---|---|
|
#18+
NDAleksey, Я так понял Вы разобрались с темой и сделали Код: java 1. 2. 3. 4. 5. И написали >> Через JNDI-lookup у меня получилось вызвать метод бина. Теперь Вы пробуете инжектить в клиента бин(через JNDI-lookup получается), тогда я написал что нужно запускать в Application Client Container. Разве не так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2014, 17:16 |
|
||
|
Почему возникает NullPointerException при вызове persist
|
|||
|---|---|---|---|
|
#18+
BlazkowiczПотому что EntityManager это не EJB. дадада... это я чет не про то) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2014, 17:20 |
|
||
|
Почему возникает NullPointerException при вызове persist
|
|||
|---|---|---|---|
|
#18+
0FDТеперь Вы пробуете инжектить в клиента бин(через JNDI-lookup получается), тогда я написал что нужно запускать в Application Client Container. Разве не так? да, все абсолютно так! спасибо большое! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2014, 22:03 |
|
||
|
Почему возникает NullPointerException при вызове persist
|
|||
|---|---|---|---|
|
#18+
0FDА вот ответ в инете, нужно запускать в Application Client Container вот он и сделает все DI, например glassfish: http://blogs.steeplesoft.com/posts/2011/02/22/java-ees-buried-treasure-the-application-client-container/ Ну, уважаемый 0FD, выручай криворукого меня. Я не знаю, как у тех товарищей, кто прокомментировал данную статью, получилось, но у меня ничегошеньки не вышло. Для чистоты эксперимента была скачана NetBeans 7.4 (с Glassfish 4.0). Не смотря на то, что меня интересовала jee-7, в том туториали при создание проектов я выбирал jee-6. Честно все шел по инструкции, в результате которой автор благополучно не указал, как подключить jar или что-то там еще от модуля с бинами, отговорившись простенькой фразой: авторYou can have NetBeans build and deploy it if you’d like, but you won’t see much. To fix that, let’s write a simple Swing app to exercise this impressive EJB. Я же использую Intellij IDEA, и поэтому мне импонировал второй подход с maven, который все тот же незабвенный автор предложил. Опять же для чистоты я тупо скопипастил все pom.xml, предварительно разобравшись в структуре проекта (привожу на картинке). Тут же покажу код, который мало чем отличается от статейного: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. И собственно мой Main.java: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. Собрал Maven-ом и задеплоил "enterpriseapplication-0.1-SNAPSHOT.ear". Запустил сервер в ожидании создания хотя бы одного из 3 указанных в коде файлов, но к моему глубочайшему разочарованию ничего на D:\ я не увидел. Основной вопрос - что я сделал не так? Второстепенный - объясните, пожалуйста, на пальцах, как в IDEA создать приложение, которое бы отрабатывало в Application Client Container??? p.s. Слезно прошу помочь! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2014, 14:00 |
|
||
|
Почему возникает NullPointerException при вызове persist
|
|||
|---|---|---|---|
|
#18+
а вот и структура: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2014, 14:03 |
|
||
|
Почему возникает NullPointerException при вызове persist
|
|||
|---|---|---|---|
|
#18+
NDAlekseyСобрал Maven-ом и задеплоил "enterpriseapplication-0.1-SNAPSHOT.ear". Запустил сервер в ожидании создания хотя бы одного из 3 указанных в коде файлов, но к моему глубочайшему разочарованию ничего на D:\ я не увидел. Основной вопрос - что я сделал не так? Второстепенный - объясните, пожалуйста, на пальцах, как в IDEA создать приложение, которое бы отрабатывало в Application Client Container??? А сам appclient ... запускал(Deploying and running outside of NetBeans)? Бросил бы этот acc, он делает тотже Context.lookup, возни больше, а выгоды никакой. Про IDEA не знаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2014, 15:37 |
|
||
|
Почему возникает NullPointerException при вызове persist
|
|||
|---|---|---|---|
|
#18+
0FDА сам appclient ... запускал(Deploying and running outside of NetBeans)? Бросил бы этот acc, он делает тотже Context.lookup, возни больше, а выгоды никакой. Про IDEA не знаю. я это все делал через IDEA + jboss7, ибо Glassfish при простом старте мне показал "administrator port is occupied by V3 cannot process this command...". Но я таки нашел PID, который занимает 4848 порт и kill-нул его! Теперь пытаюсь понять в логах, куда этот AS деплоит ear-ник (путь). Хочется таки добиться, как у того автора получилось сделать. Запускал и деплоил outside of IDEA... Результат все тот же. Могу показаться занудой, но а не раз встречал в доках, что JNDI - это пережиток EJB2.1. Да и результат добиться очень хочется, пока начальство со сроками не достает. P.S. только упорство и помощь людей (таких как Вы и Blazkowicz) помогли мне не так давно разобраться с JNDI, а иначе не достичь успеха) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2014, 15:48 |
|
||
|
Почему возникает NullPointerException при вызове persist
|
|||
|---|---|---|---|
|
#18+
NDAleksey не раз встречал в доках, что JNDI - это пережиток EJB2.1. Что это за доки? Две параллельные технологии, jndi даже есть в jdk. Еще раз, acc делает тотже Context.lookup(...). Можете попробовать JAX-WS. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2014, 16:20 |
|
||
|
Почему возникает NullPointerException при вызове persist
|
|||
|---|---|---|---|
|
#18+
0FDЧто это за доки? Две параллельные технологии, jndi даже есть в jdk. Еще раз, acc делает тотже Context.lookup(...). Можете попробовать JAX-WS. Ладно-ладно)) Не доки, а статейки разные. Не так выразился - может и не пережиток. То что делает то же самое, я вам верю! Это, если не ошибаюсь, как аннотации или xml - дело вкуса (может грубо сравнил). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2014, 17:29 |
|
||
|
Почему возникает NullPointerException при вызове persist
|
|||
|---|---|---|---|
|
#18+
NDAlekseyТо что делает то же самое, я вам верю! Это, если не ошибаюсь, как аннотации или xml - дело вкуса (может грубо сравнил). Ко вкусу это отношения не имеет. Зависимости можно инжектить, либо получать поиском (Service Locator). Во многих случаях инжектить невозможно. Например нет контейнера, либо экземпляр или поток не контролируется контейнером. Либо это просто некоторый участок, где всегда нужно получать зависимости динамически. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2014, 17:42 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38525894&tid=2127816]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
173ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 198ms |
| total: | 437ms |

| 0 / 0 |
