|
|
|
EJB3 + JBoss: простой пример по книжке, помогите разобраться...
|
|||
|---|---|---|---|
|
#18+
Добрый день, уважаемые гуру! ;) Я начинающий в EJB и JBoss, поэтому начал читать книжку "Manning - Ejb 3 In Action (2006)", если кто знает. Так вот, там в первой части рассматривается простой пример. Смысл - показать, как с помощью аннотаций можно сделать из простого Ява-класса Session Bean. Всего там три файла. Они пишут, что должно работать, а у меня нифига не работает, вылетает NullPointer Exception. Сначала приведу листинги, потом задам вопросы. Итак, HelloUser.java : Код: plaintext 1. 2. 3. 4. 5. 6. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. IDE я использую MyEclipse 5.5.1 GA. JBoss сервер 4.2.0.GA. Создал EJB3 проект в MyEclipse, закинул туда эти три исходника, задеплоил их в жбосс, запустил класс HelloUserClient через main и получил: Код: plaintext 1. Теперь, собственно, вопросы к вам: Почему возникает такая ошибка? Пример я не менял, всё из книжки... Пишут, что должно работать. Пишут, что способ доступа к бину происходит через аннотацию @EJB. Но не пашет :( В чём причина, знающие люди, подскажите! Т.к. я знаком с обычными классами в ява, возникает логичный вопрос: как инициализируется Session бины? Ну, у них нет конструктора, я не могу создать их экземпляр через new. Я понимаю, что выполняются они в EJB-контейнере, но как доступиться к ним? Пример выше - не пашет, но как же? JNDI? Не мог бы кто-то помочь мне запустить этот же пример, но используя JNDI для доступа к бину из клиента? Что для этого нужно сделать? Я знаю, что нужно сделать примерно следующее: Код: plaintext 1. 2. 3. 4. 5. 6. Код: plaintext Помогите плиз.. Очень благодарен заранее всем, кто попытается помочь. У меня есть огромное желание в этом разобраться. Спасибо большое заранее! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2007, 18:38:00 |
|
||
|
EJB3 + JBoss: простой пример по книжке, помогите разобраться...
|
|||
|---|---|---|---|
|
#18+
добавь в класспаф все либы из /jboss/client и ругаться не будет Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2007, 18:54:21 |
|
||
|
EJB3 + JBoss: простой пример по книжке, помогите разобраться...
|
|||
|---|---|---|---|
|
#18+
Deady добавь в класспаф все либы из /jboss/client и ругаться не будет Posted via ActualForum NNTP Server 1.4 Спасибо за ответ. 1. Это ответ по поводу использования JDNI (javax.naming.NoInitialContextException)? 2. Там 56 либов, все их добавлять? Нет ли иного способа? Может, в проект как-то или ещё что-нить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2007, 19:18:23 |
|
||
|
EJB3 + JBoss: простой пример по книжке, помогите разобраться...
|
|||
|---|---|---|---|
|
#18+
Deady добавь в класспаф все либы из /jboss/client и ругаться не будет Posted via ActualForum NNTP Server 1.4 Добавил в либы проекта один либ, в котором есть NamingContextFactory: jbossall-client.jar и вроде как заработало. Но с экзепшном: "javax.naming.NameNotFoundException: ejb3inaction.example.HelloUser not bound" Тут уже понятно в чём дело, отсюда возвращаюсь к своему вопросу №3 в первом посте, а именно: "Но как и где записать, что бин HelloUser доступен именно по имени "ejb3inaction.example.HelloUser" ?" И что насчёт первого примера с @EJB? По идее, должно работать... нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2007, 19:27:23 |
|
||
|
EJB3 + JBoss: простой пример по книжке, помогите разобраться...
|
|||
|---|---|---|---|
|
#18+
авторо с экзепшном: "javax.naming.NameNotFoundException: ejb3inaction.example.HelloUser not bound" пора завести фак... первое чего нужно научиться на Jboss это JNDIView см тута авторИ что насчёт первого примера с @EJB? По идее, должно работать... нет? запускаются такие проги хитрым ant скриптом, называется это j2ee client application и ... долго объяснять ... используйте клиента с лукапом. вот ещё tutorial ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2007, 09:53:39 |
|
||
|
EJB3 + JBoss: простой пример по книжке, помогите разобраться...
|
|||
|---|---|---|---|
|
#18+
кароч codeexamples-javaeesdk.zip\glassfish\chapter1\build.xml Код: plaintext 1. 2. 3. 4. 5. 6. 7. codeexamples-javaeesdk.zip\glassfish\common.xml Код: plaintext собственно appclient.bat из glassfishа испорльзуется для запуска этной муры ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2007, 11:33:51 |
|
||
|
EJB3 + JBoss: простой пример по книжке, помогите разобраться...
|
|||
|---|---|---|---|
|
#18+
exppпервое чего нужно научиться на Jboss это JNDIView см тута Это первый линк, который я нашёл и по которому делал пример. Место, где просят глянуть в JNDI View я видел, открывал тот линк(http://localhost:8080/jmx-console/), но из написанного "Select the JNDI View and list to show all deployed beans" не совсем понял что надо было запустить ф-цию ниже. Благодаря Вашей ссылке на туториал ниже я действительно понял как и что там смотреть. Спасибо. exppзапускаются такие проги хитрым ant скриптом, называется это j2ee client application и ... используйте клиента с лукапом. Понял, спасибо. Теперь так и буду делать. exppвот ещё tutorial Большое спасибо! Теперь всё получается, работа с JNDI там отлично описана! Теперь, если можно ещё два вопроса: 1. После прочтения ответов, советов, я сделал другой пример, который полностью у меня получился. Т.е. вызывался метод бина, который находился через JNDI lookup. Потом я решил переделать так же вышеописанный пример, но почему-то не получилось. Хотел спросить, в чём может быть ошибка. Итак, привожу листинг классов из работающего примера: Код: plaintext 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. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. По такой же схеме, только кроме класса, аналогичного IMyBean. Т.е. я сделал так: Код: plaintext 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. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. Так вот, этот второй переделанный пример работает, НО выводит в консоль только "Invoked EJB successfully .. see server console for output". Т.е. бин находит, в ф-цию идёт, а почему не работает - не пойму, ведь всё сделал, как в примере выше! Даже "extends Serializable" поставил у ремоут и локал интерфейсов(без этого тоже не работало). Как исправить, не подскажете? Может, у кого-то глаз более намётан? 2. Как видите, во втором примере есть // import JLogger.JLogManager; и далее в тексте вызываются методы класса этой либы. Это мой набор классов, я писал его ещё давно, он просто форматированно пишет на диск в заданный файл лог с датой. Дело в том, что я переписал JLogger.jar в дир "%JBOSS_HOME%\lib\ext\", а потом в MyEclipse я включил его в библиотеки проекта. Всё окей, Эклипс даже видит методы классов и не ругается, что не может импортировать. А, вот, при запуске HelloUserClient, вылазит экзепшн: "Exception in thread "main" javax.ejb.EJBException: java.lang.RuntimeException: java.lang.NoClassDefFoundError: JLogger/JLogManager; nested exception is: java.lang.RuntimeException: java.lang.NoClassDefFoundError: JLogger/JLogManager java.lang.RuntimeException: java.lang.NoClassDefFoundError: JLogger/JLogManager". В чём дело - тоже не пойму. Я так же импортировал import javax.naming.InitialContext из переписанной jnpserver.jar и ничего не ругалось... а тут на тебе! Главное, что библиотека JLogger полностью рабочая, я нормально юзал её в сервлетах. Может, кто что подскажет? Спасибо ещё раз всем огромное за помощь! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2007, 20:52:06 |
|
||
|
EJB3 + JBoss: простой пример по книжке, помогите разобраться...
|
|||
|---|---|---|---|
|
#18+
1. похоже, тут какой-то случай nameclashа. думаю можно забить: на практике такое бывает редко: local remote разделяются довольно сильно.выдели суперинтерфейс как в работающем примере. 2. выкинь свой JLogger . никогда не клади jarы в lib/extы. jboss хорошо повязан с log4j и хорошим тоном является использование common-logging. так же модно использовать jndi.properties ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2007, 11:09:05 |
|
||
|
EJB3 + JBoss: простой пример по книжке, помогите разобраться...
|
|||
|---|---|---|---|
|
#18+
expp1. похоже, тут какой-то случай nameclashа. думаю можно забить: на практике такое бывает редко: local remote разделяются довольно сильно.выдели суперинтерфейс как в работающем примере. Пасиб, так и сделаю. По всей видимости, приму это за правило для написания Session Bean'ов. Правильно? expp2. выкинь свой JLogger . никогда не клади jarы в lib/extы. jboss хорошо повязан с log4j и хорошим тоном является использование common-logging. так же модно использовать jndi.properties Я его выкину, нет проблем. Я не к тому. Log4J я и так собирался использовать, просто проверил как можно подключить дополнительные компоненты приложения? К примеру, если кто-то написал часть приложения, как её подключить и откуда, если не из lib/ext? (Кстати, из других мест она так же не работала...) Спасибо большое за помощь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2007, 14:35:31 |
|
||
|
EJB3 + JBoss: простой пример по книжке, помогите разобраться...
|
|||
|---|---|---|---|
|
#18+
J-Pro Пасиб, так и сделаю. По всей видимости, приму это за правило для написания Session Bean'ов. Правильно? да правильно, что ? забили J-Pro Я его выкину, нет проблем. Я не к тому. Log4J я и так собирался использовать, просто проверил как можно подключить дополнительные компоненты приложения? К примеру, если кто-то написал часть приложения, как её подключить и откуда, если не из lib/ext? (Кстати, из других мест она так же не работала...) смотрим паковку ear war jar-ов в j2ee spec обычно lib classes каталоги или class-path в манифестах ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2007, 14:53:30 |
|
||
|
EJB3 + JBoss: простой пример по книжке, помогите разобраться...
|
|||
|---|---|---|---|
|
#18+
exppда правильно, что ? забилиКстати, щас, вот, выяснил в чём причина. Оказывается, из бина System.out выводит в консоль сервера, блин :) Т.е. всё работает как надо. Да, сказывается отсутствие опыта работы с EJB. exppсмотрим паковку ear war jar-ов в j2ee spec обычно lib classes каталоги или class-path в манифестах тут нашёл такую фразу:JBoss will not support the Java EE 5 EAR format until version JBoss 5.x. To deploy a persistence archive (a .jar with no EJBs and just persistence units), you must list it in application.xml as an ejb module. Значит, по идее(у меня 4.2.0 GA), если я захочу юзать какую-то библиотеку, типа JLogger.jar(к примеру), мне необходимо создать файл <application>.xml и добавить туда инфу об этой либе? А есть где-то ссылки на примеры, где добавляют простые либы, а не persistence unit? Просто у меня в каталоге %JBOSS_HOME%\server\default\deploy\ лежит только Chapter1.jar, ничего типа Chapter1.xml нет... Нет ссылок? Заранее прошу прощения за некомпетентность в этой области, но больше не к кому обратиться, вокург никто не знает EJB :( Ещё раз спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2007, 15:19:10 |
|
||
|
EJB3 + JBoss: простой пример по книжке, помогите разобраться...
|
|||
|---|---|---|---|
|
#18+
Всё, по поводу библиотек разобрался. Правда, только с одним методом, с методом пихания библиотек в дир "%JBOSS_HOME%\server\default\lib\" и прописывания их в свойствах прокета. Так у меня всё работает. А, вот, насчёт EAR или WAR - я не в курсе... Может, кто подскажет, ежели знает? Или ссылочку, где почитать? Я юзаю MyEclipse 5.5.1 GA, ежели чего... А сервер JBoss у меня 4.2.1 GA. Пасиб заранее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2007, 17:11:03 |
|
||
|
EJB3 + JBoss: простой пример по книжке, помогите разобраться...
|
|||
|---|---|---|---|
|
#18+
кароч, где я узнал как паковать *ar-ы я незнаю что то не гуглицца ничо может тут кароче свои jar клади в xx.war/web-inf/lib , xx.ear/app-inf/lib или в xx.ear/ но тогда на него надо сослаться в манифесте ejb.jar может в спеке чего найдёшь? ну и ide собирают обычно eclipse wtp точно вопрос к гурам: где написано как ear паковать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2007, 12:03:16 |
|
||
|
EJB3 + JBoss: простой пример по книжке, помогите разобраться...
|
|||
|---|---|---|---|
|
#18+
Подскажите плиз как вы побороли эксэпшен такого плана - javax.naming.NameNotFoundException: UserLogonImpl not bound ? Я задеплоил на Jboss4.2.0 ear-архив с бином UserLogonImpl и его интерфйсами UserLogonLocal, UserLogonRemote: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Код: plaintext 1. 2. 3. 4. 5. Код: plaintext 1. 2. 3. 4. 5. Приложение нормально развернулось на серваке, в логе JBoss написал: Код: plaintext 1. 2. 3. 4. 5. 6. Из Эклипса запускаю клиента: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Летит [java] javax.naming.NameNotFoundException: UserLogonImpl not bound [java] at org.jnp.server.NamingServer.getBinding(NamingServer.java:529) [java] at org.jnp.server.NamingServer.getBinding(NamingServer.java:537) [java] at org.jnp.server.NamingServer.getObject(NamingServer.java:543) [java] at org.jnp.server.NamingServer.lookup(NamingServer.java:267) [java] at org.jnp.server.NamingServer.lookup(NamingServer.java:270) [java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2007, 18:16:51 |
|
||
|
EJB3 + JBoss: простой пример по книжке, помогите разобраться...
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. попробуйте так бин озаглавить. Foo поменяйте на имя бина Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2007, 18:21:42 |
|
||
|
EJB3 + JBoss: простой пример по книжке, помогите разобраться...
|
|||
|---|---|---|---|
|
#18+
лукапить так: Код: plaintext 1. 2. 3. 4. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2007, 18:29:14 |
|
||
|
EJB3 + JBoss: простой пример по книжке, помогите разобраться...
|
|||
|---|---|---|---|
|
#18+
берёшь jndiView (см. выше в ветке) смотришь что к чему привязалось ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2007, 18:31:24 |
|
||
|
EJB3 + JBoss: простой пример по книжке, помогите разобраться...
|
|||
|---|---|---|---|
|
#18+
А ещё лучше запустить у себя(при запущенном JBoss'е) в браузере: http://localhost:8080/jmx-consol , выбрать оттуда JNDIView, спуститься по списку вниз до "List of MBean operations:", ниже, сразу после таблички, должна быть кнопочка Invoke, нажать её. На появившейся страничке найти "Global JNDI Namespace", где и поискать свой UserLogonImpl. Если он там есть, значит он забинден, причём, покажет какими интерфейсами. Если нет - то ищите причину... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2007, 18:41:34 |
|
||
|
EJB3 + JBoss: простой пример по книжке, помогите разобраться...
|
|||
|---|---|---|---|
|
#18+
J-ProА ещё лучше запустить у себя(при запущенном JBoss'е) в браузере: http://localhost:8080/jmx-consol , выбрать оттуда JNDIView, спуститься по списку вниз до "List of MBean operations:", ниже, сразу после таблички, должна быть кнопочка Invoke, нажать её. На появившейся страничке найти "Global JNDI Namespace", где и поискать свой UserLogonImpl. Если он там есть, значит он забинден, причём, покажет какими интерфейсами. Если нет - то ищите причину... жжот парняга ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2007, 18:56:50 |
|
||
|
EJB3 + JBoss: простой пример по книжке, помогите разобраться...
|
|||
|---|---|---|---|
|
#18+
Спасибо, разобрался. Только счас вылетает такое: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Код: plaintext 1. 2. 3. Код метода userLogon.logon() просто возвращает захардкоженый ID Что не правильно ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2007, 19:11:58 |
|
||
|
EJB3 + JBoss: простой пример по книжке, помогите разобраться...
|
|||
|---|---|---|---|
|
#18+
читать умеете? все же написал Код: plaintext 1. хинт: обратите внимание на последнюю строку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2007, 21:48:25 |
|
||
|
EJB3 + JBoss: простой пример по книжке, помогите разобраться...
|
|||
|---|---|---|---|
|
#18+
Deadyчитать умеете? все же написал Код: plaintext 1. хинт: обратите внимание на последнюю строку Тоже самое что с моим вариантом, что с Вашим. Я пробовал и Ваш вариант - разницы не заметил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 10:55:44 |
|
||
|
EJB3 + JBoss: простой пример по книжке, помогите разобраться...
|
|||
|---|---|---|---|
|
#18+
приведите еще раз код. без PortableRemoteObject работать в принципе не будет. использование его - обязательное условие работы rmi ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 11:04:41 |
|
||
|
EJB3 + JBoss: простой пример по книжке, помогите разобраться...
|
|||
|---|---|---|---|
|
#18+
это вроде раньше так было. у меня на джейбосе удалённые заглушки просто кастились без PortableRemoteObject ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 11:24:43 |
|
||
|
EJB3 + JBoss: простой пример по книжке, помогите разобраться...
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Код: plaintext 1. 2. 3. 4. 5. Код: plaintext 1. 2. 3. 4. 5. Клиент Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. Exception: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. Global GNDI Namespace: ... +- beans (class: org.jnp.interfaces.NamingContext) | +- UserLogonImpl (class: org.jnp.interfaces.NamingContext) | | +- remote (proxy: $Proxy70 implements interface com.ejb3.UserLogonRemote,interface org.jboss.ejb3.JBossProxy,interface javax.ejb.EJBObject) ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 11:37:33 |
|
||
|
EJB3 + JBoss: простой пример по книжке, помогите разобраться...
|
|||
|---|---|---|---|
|
#18+
Сорри System.out.println("User Id:" + userLogon.logon("andrey", "cjkywt")); -> System.out.println("User Id:" + userLogon.logon(); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 11:39:52 |
|
||
|
EJB3 + JBoss: простой пример по книжке, помогите разобраться...
|
|||
|---|---|---|---|
|
#18+
а если указать jnp://localhost:1099 в адресе? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 11:51:44 |
|
||
|
EJB3 + JBoss: простой пример по книжке, помогите разобраться...
|
|||
|---|---|---|---|
|
#18+
В логе Jboss (4.2.0) есть: [org.jboss.ejb3.stateless.BaseStatelessProxyFactory] Binding proxy for UserLogonImpl in JNDI at beans/UserLogonImpl/remote Те. lookup проходит нормально - интерфейс возвращается, но валится именно при обращении к методу logon(). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 11:52:32 |
|
||
|
EJB3 + JBoss: простой пример по книжке, помогите разобраться...
|
|||
|---|---|---|---|
|
#18+
Deady а если указать jnp://localhost:1099 в адресе? Тоже самое :-( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 11:54:32 |
|
||
|
EJB3 + JBoss: простой пример по книжке, помогите разобраться...
|
|||
|---|---|---|---|
|
#18+
На Wed, 08 Aug 07 08:52:32 GMT "AndreySJ" <nospam@sql.ru> записано: > Автор: AndreySJ > В логе Jboss (4.2.0) есть: > [org.jboss.ejb3.stateless.BaseStatelessProxyFactory] Binding proxy > for . in JNDI at beans/UserLogonImpl/remote > > Те. lookup проходит нормально - интерфейс возвращается, но валится > именно при обращении к методу logon(). Тема Ответить Сообщение > по моему это всего лишь означает что jboss задеплоил UserLogonImpl. у вас прокси включен? по телнету на этот порт подключается? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 12:07:24 |
|
||
|
EJB3 + JBoss: простой пример по книжке, помогите разобраться...
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 12:24:33 |
|
||
|
EJB3 + JBoss: простой пример по книжке, помогите разобраться...
|
|||
|---|---|---|---|
|
#18+
expp оно ? Оно !!! Спасибо огромное ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 12:59:55 |
|
||
|
EJB3 + JBoss: простой пример по книжке, помогите разобраться...
|
|||
|---|---|---|---|
|
#18+
> Автор: expp > оно ? > Тема Ответить Сообщение нда уж... надо было сразу из коммандной строки запускать. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 13:04:00 |
|
||
|
EJB3 + JBoss: простой пример по книжке, помогите разобраться...
|
|||
|---|---|---|---|
|
#18+
джастфакинггуглит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 13:42:53 |
|
||
|
EJB3 + JBoss: простой пример по книжке, помогите разобраться...
|
|||
|---|---|---|---|
|
#18+
Deadyприведите еще раз код. без PortableRemoteObject работать в принципе не будет. использование его - обязательное условие работы rmi Хм... а у меня remote интерфейс работает без PortableRemoteObject. Т.е. вот так: Код: plaintext 1. Или я чего-то недопонял? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 17:29:31 |
|
||
|
EJB3 + JBoss: простой пример по книжке, помогите разобраться...
|
|||
|---|---|---|---|
|
#18+
видимо я отстал от жизни, или jboss что-то прикрутили. в книге Enterprise Java Beans так было написано Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 17:36:33 |
|
||
|
EJB3 + JBoss: простой пример по книжке, помогите разобраться...
|
|||
|---|---|---|---|
|
#18+
Deady видимо я отстал от жизни, или jboss что-то прикрутили. в книге Enterprise Java Beans так было написано Posted via ActualForum NNTP Server 1.4 даааавно это было ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 17:42:46 |
|
||
|
EJB3 + JBoss: простой пример по книжке, помогите разобраться...
|
|||
|---|---|---|---|
|
#18+
http://java.sun.com/j2se/1.5.0/docs/api/javax/rmi/PortableRemoteObject.html jdk narrow public static Object narrow(Object narrowFrom, Class narrowTo) throws ClassCastException Checks to ensure that an object of a remote or abstract interface type can be cast to a desired type. вон оно как, метод только проверяет. значит действительно можно без него. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 17:51:01 |
|
||
|
EJB3 + JBoss: простой пример по книжке, помогите разобраться...
|
|||
|---|---|---|---|
|
#18+
перечитал книгу - эта штука для совместимости с протоколами. при использованиии IIOP 1.2 отсутствие PortableRemoteObject приведет к ClassCastException. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 17:55:39 |
|
||
|
EJB3 + JBoss: простой пример по книжке, помогите разобраться...
|
|||
|---|---|---|---|
|
#18+
Deady перечитал книгу - эта штука для совместимости с протоколами. при использованиии IIOP 1.2 отсутствие PortableRemoteObject приведет к ClassCastException. Posted via ActualForum NNTP Server 1.4 ни...ни ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 18:09:39 |
|
||
|
EJB3 + JBoss: простой пример по книжке, помогите разобраться...
|
|||
|---|---|---|---|
|
#18+
Подскажите, как узнать почему в JBoss injection не отрабатывает? Как только добавляю это: Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2007, 11:24:19 |
|
||
|
EJB3 + JBoss: простой пример по книжке, помогите разобраться...
|
|||
|---|---|---|---|
|
#18+
добавьте название контекста: @PersistenceContext(name="name") Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2007, 11:46:39 |
|
||
|
EJB3 + JBoss: простой пример по книжке, помогите разобраться...
|
|||
|---|---|---|---|
|
#18+
AndreySJПодскажите, как узнать почему в JBoss injection не отрабатывает? Как только добавляю это: Код: plaintext 1. 2. ты его случайно не как в прошлый раз создаёшь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2007, 11:55:55 |
|
||
|
EJB3 + JBoss: простой пример по книжке, помогите разобраться...
|
|||
|---|---|---|---|
|
#18+
Deady добавьте название контекста: @PersistenceContext(name="name") Добавлял - не помогло. Код: plaintext 1. 2. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. expp ты его случайно не как в прошлый раз создаёшь? В смысле ? ;-) Я просто добавил это: @PersistenceContext protected EntityManager em; Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2007, 12:09:29 |
|
||
|
EJB3 + JBoss: простой пример по книжке, помогите разобраться...
|
|||
|---|---|---|---|
|
#18+
бин этот как получаешь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2007, 12:36:01 |
|
||
|
EJB3 + JBoss: простой пример по книжке, помогите разобраться...
|
|||
|---|---|---|---|
|
#18+
Из клиента, либо вариант Код: plaintext 1. 2. 3. либо Код: plaintext 1. 2. Оба варианта работают, если в UserLogonImpl закомитить строки: @PersistenceContext protected EntityManager em; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2007, 12:49:23 |
|
||
|
EJB3 + JBoss: простой пример по книжке, помогите разобраться...
|
|||
|---|---|---|---|
|
#18+
как деплоишь? что пишет? что в логах при деплое ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2007, 13:33:00 |
|
||
|
EJB3 + JBoss: простой пример по книжке, помогите разобраться...
|
|||
|---|---|---|---|
|
#18+
В логе есть такое: 12:46:51,014 WARN [Ejb3Configuration] Persistence provider caller does not implements the EJB3 spec correctly. PersistenceUnitInfo.getNewTempClassLoader() is null 12:46:51,076 INFO [Configuration] Reading mappings from resource : META-INF/orm.xml 12:46:51,076 INFO [Ejb3Configuration] [PersistenceUnit: test] no META-INF/orm.xml found ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2007, 13:49:18 |
|
||
|
EJB3 + JBoss: простой пример по книжке, помогите разобраться...
|
|||
|---|---|---|---|
|
#18+
может указать классы пакеты с энтитями ? покеш лог ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2007, 13:59:11 |
|
||
|
EJB3 + JBoss: простой пример по книжке, помогите разобраться...
|
|||
|---|---|---|---|
|
#18+
Нашел причину. Решилось добавление стороки <provider>org.hibernate.ejb.HibernatePersistence</provider> в persistence.xml: <persistence-unit name="assetunity"> <provider>org.hibernate.ejb.HibernatePersistence</provider> <jta-data-source>java:/DefaultDS</jta-data-source> <properties> <property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect"/> <property name="hibernate.hbm2ddl.auto" value="create-drop" /> </properties> </persistence-unit> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2007, 14:37:55 |
|
||
|
EJB3 + JBoss: простой пример по книжке, помогите разобраться...
|
|||
|---|---|---|---|
|
#18+
AndreySJНашел причину. Решилось добавление стороки <provider>org.hibernate.ejb.HibernatePersistence</provider> Вот странно, у меня тоже JBoss и всё работает без этой строчки... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2007, 17:55:24 |
|
||
|
EJB3 + JBoss: простой пример по книжке, помогите разобраться...
|
|||
|---|---|---|---|
|
#18+
Подскажите плиз по созданию InitialContext, для обращения к session bean из web-уровня. Как грамотно это делать? Допустим есть несколько сессион бинов. Для обращения к ним с разных страниц правльно использовать новый экземпляр InitialContext, те каждый раз такое: На одной странице Код: plaintext 1. 2. 3. На второй странице Код: plaintext 1. 2. 3. Или правильно использовать единственный экземпляр InitialContext и хранить его например в сессии? Те: На одной странице Код: plaintext 1. 2. На второй странице Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2007, 13:34:33 |
|
||
|
EJB3 + JBoss: простой пример по книжке, помогите разобраться...
|
|||
|---|---|---|---|
|
#18+
оверхедов в первом варианте незамечено ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2007, 14:18:51 |
|
||
|
EJB3 + JBoss: простой пример по книжке, помогите разобраться...
|
|||
|---|---|---|---|
|
#18+
Ок. Те получение InitialContext - это не дорогостоящая операция. А еще подскажите плиз как правильно в таком варианте использовать секьюрити. Попробую объяснить мою проблему на этом же примере. Те, сессион бин UserLogonImpl использует анатации, регламентирующие доступ к его методам согласно ролям: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Пользователь use_admin\admin_password принадлежит роли ADMIN Те для пользователя use_admin\admin_password я использую такой вызов: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Здесь в InitialContext надо передавать properties.setProperty(Context.SECURITY_PRINCIPAL, "user_admin"); properties.setProperty(Context.SECURITY_CREDENTIALS, "admin_password"); чтобы знать какой роли принадлежит пользователь и соответственно к каким медом ему разрешен Аналогично для других пользователей. Те здесь мне приходиться явно в коде забивать Context.SECURITY_PRINCIPAL, Context.SECURITY_CREDENTIALS в properties прежде чем создать InitialContext и я не могу использовать jndi.properties. Может есть более красивое решение ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2007, 14:47:33 |
|
||
|
EJB3 + JBoss: простой пример по книжке, помогите разобраться...
|
|||
|---|---|---|---|
|
#18+
JAAS это весело. может поможет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2007, 15:11:27 |
|
||
|
|

start [/forum/topic.php?all=1&fid=59&tid=2144924]: |
0ms |
get settings: |
18ms |
get forum list: |
31ms |
check forum access: |
7ms |
check topic access: |
7ms |
track hit: |
77ms |
get topic data: |
22ms |
get forum data: |
6ms |
get page messages: |
139ms |
get tp. blocked users: |
3ms |
| others: | 345ms |
| total: | 655ms |

| 0 / 0 |
