|
|
|
Вопрос новичка по EJB-клиенту
|
|||
|---|---|---|---|
|
#18+
Есть рабочий сервак JBoss. Сделан EJB - Stateless Session Bean - и он работает на серваке. Из ВЕБ приложения - из сервлета - обратиться к нему (EJB) можно, все ок! Подскажите, плиз, как создать клиентское GUI-приложение - в смысле как из клиентского приложения обратиться к функциям данного EJB. Догадываюсь, что для клиента нужен файлик с описанием функций серверного бина и параметры подключения к серваку. КАК? Если мона, то дайте простейший пример.... Всем ответившим заранее спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2006, 11:50:53 |
|
||
|
Вопрос новичка по EJB-клиенту
|
|||
|---|---|---|---|
|
#18+
на клиенте нужен remote интерфейс и файл ~/jboss/client/jbossclient-all.jar на клиенте: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2006, 12:10:52 |
|
||
|
Вопрос новичка по EJB-клиенту
|
|||
|---|---|---|---|
|
#18+
Пасиба! Буду пробовать! О результатах отпишусь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2006, 13:05:54 |
|
||
|
Вопрос новичка по EJB-клиенту
|
|||
|---|---|---|---|
|
#18+
Еще один тупой вопрос: как сделать EJB-клиента в IDEA? Любого.... консольного например. Еще раз пасиба заранее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2006, 13:11:22 |
|
||
|
Вопрос новичка по EJB-клиенту
|
|||
|---|---|---|---|
|
#18+
1. создать новый java модуль 2. подключить к нему jbossclient-all.jar, возможно, кстати, понадобится еще log4j.jar 3. создать новый класс 4. в методе main написать код, приведенный выше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2006, 13:15:48 |
|
||
|
Вопрос новичка по EJB-клиенту
|
|||
|---|---|---|---|
|
#18+
А как быть с классом remote-интерфейса? Каким образом его подключить к приложению? А если приложение будет на другой машине (ЛВС)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2006, 13:18:23 |
|
||
|
Вопрос новичка по EJB-клиенту
|
|||
|---|---|---|---|
|
#18+
в идее можно создать зависимости между модулями. в частности, java модуль будет зависеть от ejb модуля. на машине клиента будут лежать обе jar, вызываться будет jar с клиентскими классами, а jar с remote интерфейсами будет прописываться в classpath ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2006, 13:22:45 |
|
||
|
Вопрос новичка по EJB-клиенту
|
|||
|---|---|---|---|
|
#18+
И еще вдогонку: в директории "~jboss/client/" у меня есть несколько файлов: jboss-client.jar (250Kb) jboss-common-client.jar (400Kb) jbossall-client.jar (4Mb) какой из них цеплять? классы javax.* есть во всех.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2006, 13:23:41 |
|
||
|
Вопрос новичка по EJB-клиенту
|
|||
|---|---|---|---|
|
#18+
сказал же, jbossall-client.jar ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2006, 13:26:08 |
|
||
|
Вопрос новичка по EJB-клиенту
|
|||
|---|---|---|---|
|
#18+
Client jar лучше собирать отдельно. Naming conventions . Для EJB 2.0 в нем должны присутствовать home и remote интерфейсы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2006, 13:39:18 |
|
||
|
Вопрос новичка по EJB-клиенту
|
|||
|---|---|---|---|
|
#18+
Еще раз огромное спасибо! Буду пробовать! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2006, 13:43:50 |
|
||
|
Вопрос новичка по EJB-клиенту
|
|||
|---|---|---|---|
|
#18+
Deadyна клиенте нужен remote интерфейс и файл ~/jboss/client/jbossclient-all.jar на клиенте: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Все сделал! При запуске регается на: BeanRemote remote = PortableRemoteObject.narrow(beanRef, BeanRemote.class); (соотв. вместо BeanRemote подставлено имя интерфейса своего бина) Вот ошибка: java.lang.ClassCastException возникает в этой строке: Fleet remote = (Fleet) PortableRemoteObject.narrow(beanRef, Fleet.class); (Приведение классов заставила ИДЕЯ сделать....) Что не так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2006, 14:13:44 |
|
||
|
Вопрос новичка по EJB-клиенту
|
|||
|---|---|---|---|
|
#18+
используется ejb3.0? если нет, то надо home интерфейс получать, а не remote ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2006, 14:17:22 |
|
||
|
Вопрос новичка по EJB-клиенту
|
|||
|---|---|---|---|
|
#18+
У меня заработало вот так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2006, 14:17:23 |
|
||
|
Вопрос новичка по EJB-клиенту
|
|||
|---|---|---|---|
|
#18+
Deadyиспользуется ejb3.0? если нет, то надо home интерфейс получать, а не remote Похоже используется 2.0, а не 3.0..... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2006, 14:18:18 |
|
||
|
Вопрос новичка по EJB-клиенту
|
|||
|---|---|---|---|
|
#18+
Что бы это значило: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. это запуск клиента EJB с той же машины, только не из среды разработки... в среде разработки (IDEA) все заработало..... Что не так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2006, 14:28:02 |
|
||
|
Вопрос новичка по EJB-клиенту
|
|||
|---|---|---|---|
|
#18+
добавил клиенту в CLASSPATH jar-файл с EJB - заработало.... как из данного архива выделить только нужные интерфейсы? ведь таскать за клиентом всего бина - ето ж неправильно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2006, 15:00:21 |
|
||
|
Вопрос новичка по EJB-клиенту
|
|||
|---|---|---|---|
|
#18+
1. в таске анта построить jar только с remote интерфейсами. 2. создать отдельный модуль для интерфейсов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2006, 15:29:57 |
|
||
|
Вопрос новичка по EJB-клиенту
|
|||
|---|---|---|---|
|
#18+
Deady1. в таске анта построить jar только с remote интерфейсами. 2. создать отдельный модуль для интерфейсов. А можно ли немного поподробнее для новичка, если не затруднит сильно? И - совсем наглость - применительно к среде ИДЕЯ... Еще раз огромное спасибо!!! Получил ответы на основные вопросы - очень все просто оказалось.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2006, 15:49:42 |
|
||
|
Вопрос новичка по EJB-клиенту
|
|||
|---|---|---|---|
|
#18+
ну для начала рекомендую погуглить на тему ant. а потом все понятно будет. в кратце, строится 3 jar - серверная: в ней лежат home, remote интерфейсы и их имплементации (то есть сами бины). эту jar надо будет деплоить в jboss - клиентская jar - содержит клиентское приложение (например, swing, или набор сервлетов, если они будут запускаться на удаленном сервере) - jar с home и remote интерфейсами - эту штуку надо будет распространять с клиентской частью, чтобы java не ругалась на ClassNotFoundException ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2006, 15:53:42 |
|
||
|
Вопрос новичка по EJB-клиенту
|
|||
|---|---|---|---|
|
#18+
Deadyну для начала рекомендую погуглить на тему ant. а потом все понятно будет. в кратце, строится 3 jar - серверная: в ней лежат home, remote интерфейсы и их имплементации (то есть сами бины). эту jar надо будет деплоить в jboss - клиентская jar - содержит клиентское приложение (например, swing, или набор сервлетов, если они будут запускаться на удаленном сервере) - jar с home и remote интерфейсами - эту штуку надо будет распространять с клиентской частью, чтобы java не ругалась на ClassNotFoundException -серверная джар - есть, тут все понятно -клиентская джар - это есть, но не удалось заставить ИДЕЮ (в отличие от ДЖБилдера) копировать в результирующую директорию клиентский файл Босса -КАК СДЕЛАТЬ этот ДЖАР? неужели только с помощью анта? Некое представление имею - все вручную - т.е. писать скрипт вручную.... или ест возможность автоматизации? и можно ли с помощью анта копировать в результирующую папку Боссовский клиентский джар? Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2006, 16:06:56 |
|
||
|
Вопрос новичка по EJB-клиенту
|
|||
|---|---|---|---|
|
#18+
с помощью анта все можно. ант - это и есть автоматизация. зачем копировать jbossовский jar? приложение как распространяться будет? если имена всем remote интерфейсам делать делать по типу BeanRemote (т.е. с суффиксов Remote), то такой таск создаст нужный jar: Код: plaintext 1. 2. 3. 4. 5. 6. 7. можно, например, хранить интерфейсы в отдельном пакете.. тогда их тоже можно будет выцепить. а вообще, для интранета не так уж и плохо кинуть клиенту серверный jar. 20 метров туда, 20 метров сюда в локальной сети плохого не сделают ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2006, 16:18:29 |
|
||
|
Вопрос новичка по EJB-клиенту
|
|||
|---|---|---|---|
|
#18+
<fileset dir="${dir.server}/classes" includes="**/*Home.class **/*Remote.class"/> форум скушал символы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2006, 16:19:20 |
|
||
|
Вопрос новичка по EJB-клиенту
|
|||
|---|---|---|---|
|
#18+
Deadyс помощью анта все можно. ант - это и есть автоматизация. зачем копировать jbossовский jar? приложение как распространяться будет? если имена всем remote интерфейсам делать делать по типу BeanRemote (т.е. с суффиксов Remote), то такой таск создаст нужный jar: Код: plaintext 1. 2. 3. 4. 5. 6. 7. можно, например, хранить интерфейсы в отдельном пакете.. тогда их тоже можно будет выцепить. а вообще, для интранета не так уж и плохо кинуть клиенту серверный jar. 20 метров туда, 20 метров сюда в локальной сети плохого не сделают Зачем копировать боссовский джар? - приложение работает на одной из машин в ЛВС... Босс стоит на сетевом серваке.... как клиенту обратиться к серверу без данной библиотеки у себя? - вот зачем надо копировать боссовский джар.... - или я ошибаюсь в чем-то? (имеется в виду jbossall-client.jar) Приложение будет распространяться одним/несколькими файлами..... как запихнуть интерфейсы в отдельный пакет? в нем же должна будет находиться и реализация бина? как прикрутить ант к ИДЕЕ? Я понимаю, что вопросы звучат наверное глупо... но .... Еще раз спасибо за огромную помощь.... главное ведь начать? :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2006, 16:35:55 |
|
||
|
Вопрос новичка по EJB-клиенту
|
|||
|---|---|---|---|
|
#18+
Vinny Puhh Зачем копировать боссовский джар? - приложение работает на одной из машин в ЛВС... Босс стоит на сетевом серваке.... как клиенту обратиться к серверу без данной библиотеки у себя? - вот зачем надо копировать боссовский джар.... - или я ошибаюсь в чем-то? (имеется в виду jbossall-client.jar) Приложение будет распространяться одним/несколькими файлами..... как запихнуть интерфейсы в отдельный пакет? в нем же должна будет находиться и реализация бина? как прикрутить ант к ИДЕЕ? Я понимаю, что вопросы звучат наверное глупо... но .... Еще раз спасибо за огромную помощь.... главное ведь начать? :-) если распространять через web start, то jbossall-client.jar достаточно 1 раз подписать, закинуть на сервер и забыть. тот таск как раз и создаст клиентскую либу с интерфейсами. реализация на клиенте не нужна. в идее в правой части есть вкладка ant ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2006, 16:43:51 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=34042157&tid=2147875]: |
0ms |
get settings: |
6ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
195ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
64ms |
get tp. blocked users: |
1ms |
| others: | 241ms |
| total: | 541ms |

| 0 / 0 |
