|
|
|
EJB - продолжение разбора полетов
|
|||
|---|---|---|---|
|
#18+
Доброго времени, форумчане! Продолжаю мучить изучать EJB, но никак вот не могу понять. Есть двух модульный maven-проект (три pom.xml). В EJB-модуле прописаны remote/stateless/statefull бины, в client-части public static main с вызовом методов из remote interface-а. Все собирается в pom-файл и деплоится на JBoss7. Вопрос: пишу GUI приложение в котором хотел бы использовать те методы. Как это сделать? P.S. сам проект ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2013, 09:59 |
|
||
|
EJB - продолжение разбора полетов
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2013, 11:17 |
|
||
|
EJB - продолжение разбора полетов
|
|||
|---|---|---|---|
|
#18+
WGANDAleksey, Наверное, так . я не хочу то приложение запускать, я хочу его методы использовать в своем приложении ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2013, 11:48 |
|
||
|
EJB - продолжение разбора полетов
|
|||
|---|---|---|---|
|
#18+
Что-то не догнал. Проблема-то в чем? Вопрос как в Maven делать зависимости между модулями? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2013, 11:50 |
|
||
|
EJB - продолжение разбора полетов
|
|||
|---|---|---|---|
|
#18+
BlazkowiczЧто-то не догнал. Проблема-то в чем? Вопрос как в Maven делать зависимости между модулями? Нееее... Это мы с Вами проходили. С этим все в порядке! Есть Maven-проект ( client-mavenModule + server-side-mavenModule ). Я его собираю с плагином в jar-ник и кидаю на апп_сервер. Он успешно деплоится. server-side состоит из RemoteCalculator.java(@Remote) и CalculatorBean.java(@Stateless). В RemoteCalculator есть метод: int add(int, int). Я его хотел дернуть. Через JNDI.lookup у меня не получилось. В примере том создается модуль client, где делается invoke по lookup. Приведу тут, что там делается: Код: 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. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. Вот у меня вопросы: зачем определена main, если проект будет деплоиться на сервер? как мне воспользоваться калькулятором? Щас попробовал просто сделать так: Код: java 1. 2. 3. 4. Отработало и вернуло результат. Но разве при этом создается сессионный бин? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2013, 12:48 |
|
||
|
EJB - продолжение разбора полетов
|
|||
|---|---|---|---|
|
#18+
NDAleksey... Отработало и вернуло результат. Но разве при этом создается сессионный бин? Я это сделал отдельным консольным приложением. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2013, 12:50 |
|
||
|
EJB - продолжение разбора полетов
|
|||
|---|---|---|---|
|
#18+
1) Задеплойте EJB jar в Jboss 2) Зайдите в web console 3) Найдите там JNDI дерево и JNDI имя своих бинов в нем ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2013, 12:53 |
|
||
|
EJB - продолжение разбора полетов
|
|||
|---|---|---|---|
|
#18+
Ну, то есть проблема локализовалась в JNDI lookup, о котором в первом посте почему-то не слова. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2013, 12:54 |
|
||
|
EJB - продолжение разбора полетов
|
|||
|---|---|---|---|
|
#18+
Blazkowicz1) Задеплойте EJB jar в Jboss 2) Зайдите в web console 3) Найдите там JNDI дерево и JNDI имя своих бинов в нем 1) Задеплоил 2) Зашел 3) Не нашел бинов (прилагаю картинку) Проблема локализуется не совсем в JNDI. Я делал много попыток "дернуть" бины через различные JNDI варианты, которые находил в инете. Но не получилось. Если Вы мне дадите 100% работающий код, то я буду безмерно счастлив!!!))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2013, 15:22 |
|
||
|
EJB - продолжение разбора полетов
|
|||
|---|---|---|---|
|
#18+
Дык, чет не видать чтобы jboss-ejb-remote-server-side.jar был задеплоен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2013, 15:35 |
|
||
|
EJB - продолжение разбора полетов
|
|||
|---|---|---|---|
|
#18+
BlazkowiczДык, чет не видать чтобы jboss-ejb-remote-server-side.jar был задеплоен. я же говорил, что: Есть Maven-проект ( client-mavenModule + server-side-mavenModule ) - вот он и есть jboss-ejb-romote-client. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2013, 15:55 |
|
||
|
EJB - продолжение разбора полетов
|
|||
|---|---|---|---|
|
#18+
NDAlekseyя же говорил, что: Есть Maven-проект ( client-mavenModule + server-side-mavenModule ) - вот он и есть jboss-ejb-romote-client. Няня я у них поел. Есть сервер. Есть клиент. Клиент деплоиться в JBoss. Сервер не деплоиться никуда. Занавес. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2013, 15:57 |
|
||
|
EJB - продолжение разбора полетов
|
|||
|---|---|---|---|
|
#18+
BlazkowiczNDAlekseyя же говорил, что: Есть Maven-проект ( client-mavenModule + server-side-mavenModule ) - вот он и есть jboss-ejb-romote-client. Няня я у них поел. Есть сервер. Есть клиент. Клиент деплоиться в JBoss. Сервер не деплоиться никуда. Занавес. Я тоже люблю пошутить, но мне реально не до шуток. Я, черт возьми, не понимаю ничего. Эту структуру мне указал начальник. В том примере, который я дал в первом посте все находится в одном проекте. И я, так полагаю, он должен деплоиться. У меня в клиенет контекстом вызываются бины из server-side. После Ваших слов, я вообще ничего не понимаю.... = ( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2013, 16:03 |
|
||
|
EJB - продолжение разбора полетов
|
|||
|---|---|---|---|
|
#18+
Два maven модуля создают два артифакта. Где артефакт который создаёт server-side модуль? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2013, 16:11 |
|
||
|
EJB - продолжение разбора полетов
|
|||
|---|---|---|---|
|
#18+
BlazkowiczДва maven модуля создают два артифакта. Где артефакт который создаёт server-side модуль? pom-основного модуля: <groupId>org.jboss.quickstarts.eap</groupId> <artifactId>jboss-ejb-remote-parent</artifactId> <packaging>pom</packaging> <version>1.0-SNAPSHOT</version> <name>JBoss EAP Quickstart: ejb-remote</name> <modules> <module>server-side</module> <module>client</module> </modules> pom server-side модуля: Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. pom client-модуля: Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. все собирается специальным плагинов в основном pom-нике в jar-архив, который я деплою. вот - два в одном. бины в server-side. lookup- в client-е ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2013, 16:19 |
|
||
|
EJB - продолжение разбора полетов
|
|||
|---|---|---|---|
|
#18+
У меня, правда слова заканчиваются. Build and Deploy the Quickstart Since this quickstart builds two separate components , you can not use the standard Build and Deploy commands used by most of the other quickstarts. You must follow these steps to build, deploy, and run this quickstart. Make sure you have started the JBoss server. See the instructions in the previous section. Open a command prompt and navigate to the ejb-remote quickstart directory Build and install the server side component: Navigate to the server-side subdirectory: cd server-side Build the EJB and client interfaces JARs and install them in your local Maven repository. mvn clean install Deploy the EJB JAR to your server . This maven goal will deploy server-side/target/jboss-ejb-remote-server-side.jar . You can check the JBoss server console to see information messages regarding the deployment. mvn jboss-as:deploy Build and run the client application Navigate to the server-side subdirectory: cd ../client Compile the client code mvn clean compile Execute the client application within Maven mvn exec:exec ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2013, 16:25 |
|
||
|
EJB - продолжение разбора полетов
|
|||
|---|---|---|---|
|
#18+
BlazkowiczУ меня, правда слова заканчиваются. ..... спасибо за терпение.... ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2013, 16:31 |
|
||
|
EJB - продолжение разбора полетов
|
|||
|---|---|---|---|
|
#18+
NDAlekseyДоброго времени, форумчане! Продолжаю мучить изучать EJB, но никак вот не могу понять. Есть двух модульный maven-проект (три pom.xml). В EJB-модуле прописаны remote/stateless/statefull бины, в client-части public static main с вызовом методов из remote interface-а. Все собирается в pom-файл и деплоится на JBoss7. Вопрос: пишу GUI приложение в котором хотел бы использовать те методы. Как это сделать? Надо делать четырёхмодульный. 1. все константы, entity, remote-интерфейсы. 2. серверная часть, использует 1ю. 3. EAR, включающий в себя 1 и 2. 4. клиент, использующий 1 и при сборке включающий его в свои либы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2013, 09:58 |
|
||
|
EJB - продолжение разбора полетов
|
|||
|---|---|---|---|
|
#18+
Alexey Tomin, 2 и 3 можно объединить при желании в один модуль. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2013, 10:17 |
|
||
|
EJB - продолжение разбора полетов
|
|||
|---|---|---|---|
|
#18+
Проблема более менее прояснилась. Дело в том, что я сделал пример похожий на тот, ссылку на который давал. Поэтому не мог взять в толк, почему на сервер получались EJB JAR архивы. Не разобрался в описании проекта (не хотелось) - а зря. Спасибо Blazkowicz) Все дело в Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. этом плагине, который собирает доп. имя_модуля-client.jar архив. Вот его-то, наверное, и имел в виду Blazkowicz (если ошибаюсь - прошу исправить). Теперь у меня другая ошибка. Сперва напишу что было сделано: Создал maven-проект CalculatorService: RemoteCalculator.java: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. CalculatorBean.java: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. pom.xml: Код: xml 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. Собрал проект. Задеплоил ОБА jar-ника на сервер. Написал Клиента: Код: 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. 27. Запускаю. Чувствуется, что идет коннект. После этого получаю следующее: Exception in thread "main" javax.naming.NamingException: Failed to create remoting connection [Root exception is java.lang.RuntimeException: Operation failed with status WAITING] at org.jboss.naming.remote.client.ClientUtil.namingException(ClientUtil.java:36) at org.jboss.naming.remote.client.InitialContextFactory.getInitialContext(InitialContextFactory.java:121) at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:684) at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:307) at javax.naming.InitialContext.init(InitialContext.java:242) at javax.naming.InitialContext.<init>(InitialContext.java:216) at Main.lookupRemoteStatelessCalculator(Main.java:31) at Main.main(Main.java:46) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120) Caused by: java.lang.RuntimeException: Operation failed with status WAITING at org.jboss.naming.remote.protocol.IoFutureHelper.get(IoFutureHelper.java:89) at org.jboss.naming.remote.client.NamingStoreCache.getRemoteNamingStore(NamingStoreCache.java:56) at org.jboss.naming.remote.client.InitialContextFactory.getOrCreateCachedNamingStore(InitialContextFactory.java:166) at org.jboss.naming.remote.client.InitialContextFactory.getOrCreateNamingStore(InitialContextFactory.java:139) at org.jboss.naming.remote.client.InitialContextFactory.getInitialContext(InitialContextFactory.java:104) ... 11 more Что это такое и как с ним бороться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2013, 12:41 |
|
||
|
EJB - продолжение разбора полетов
|
|||
|---|---|---|---|
|
#18+
NDAleksey, Я подзабыл уже EJB вообще, но насколько помню, 7.1 очень заморочен в вопросах видимости. В том проекте деление такое- jar от server-side кладётся на сервер, а клиент содержит обе jar'ки. Класть client на сервер не надо. Я так и не понял- тот проект, собранный строго как сказано, заработал? Т.е. "Remote calculator returned difference = " и прочее написал в консоли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2013, 15:48 |
|
||
|
EJB - продолжение разбора полетов
|
|||
|---|---|---|---|
|
#18+
Alexey TominNDAleksey, Я подзабыл уже EJB вообще, но насколько помню, 7.1 очень заморочен в вопросах видимости. В том проекте деление такое- jar от server-side кладётся на сервер, а клиент содержит обе jar'ки. Класть client на сервер не надо. Я так и не понял- тот проект, собранный строго как сказано, заработал? Т.е. "Remote calculator returned difference = " и прочее написал в консоли? да, мне тоже кажется, что он подзаморочен, хотя может я не умею читать документацию) да, то что не надо класть, я это понял. по чистой логике нечего ему там делать. проект не заработал = ( у меня было несколько иное заполнение контекста (если присмотреться). а в моем предыдущем посте я указал новое заполнение, после того как нашел парочку статей ( одна из них ). но я не понимаю, почему случается RuntimeException. щас хоть чувствуется, что идет подключение. здесь автор статьи объясняет вроде что и почему, я следую инструкциям, но все равно не работает. уже не знаю, что делать.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2013, 16:34 |
|
||
|
EJB - продолжение разбора полетов
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2013, 19:37 |
|
||
|
EJB - продолжение разбора полетов
|
|||
|---|---|---|---|
|
#18+
WGANDAleksey, Тынц не совсем понял, где там описание моей ошибки... кстати, попробовал стартовать при выключенном jboss - результат тот же... = ( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2013, 11:27 |
|
||
|
EJB - продолжение разбора полетов
|
|||
|---|---|---|---|
|
#18+
NDAlekseyWGANDAleksey, Тынц не совсем понял, где там описание моей ошибки...Это не описание ошибки, а пошаговая инструкция по написанию remote-client. Я просто документацию JBoss почитываю, попалось на глаза. Вроде Ваш случай. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2013, 12:24 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=190&tid=2127785]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
45ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
157ms |
get tp. blocked users: |
1ms |
| others: | 214ms |
| total: | 460ms |

| 0 / 0 |
