|
|
|
Как вызвать удалённый метод в EJB из GUI приложения?
|
|||
|---|---|---|---|
|
#18+
vas0Кто в Java в EJB разобрался, тот в цирке не смеется. похоже ты прав. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2012, 14:42:34 |
|
||
|
Как вызвать удалённый метод в EJB из GUI приложения?
|
|||
|---|---|---|---|
|
#18+
У человека проблема вообще с ява. Он ничего в ней не понимает, а лезет сразу в создание ежб бинов. Ну, ёлки... началось. Нет у меня никаких проблем. Надо записать! :)) Просто позавчера толстый клиент был Java-классом, а вчера стал Enterprise-приложением. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2012, 14:46:51 |
|
||
|
Как вызвать удалённый метод в EJB из GUI приложения?
|
|||
|---|---|---|---|
|
#18+
Niky4000Почему-то моё Enterprise Application хочет только с localhost работать, а я хочу, чтоб он соединялся с 172.16.1.250 Код: java 1. 2. не? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2012, 14:52:26 |
|
||
|
Как вызвать удалённый метод в EJB из GUI приложения?
|
|||
|---|---|---|---|
|
#18+
Niky4000Просто позавчера толстый клиент был Java-классом, а вчера стал Enterprise-приложением. И это тоже записать! :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2012, 15:00:51 |
|
||
|
Как вызвать удалённый метод в EJB из GUI приложения?
|
|||
|---|---|---|---|
|
#18+
Niky4000Ну, ёлки... началось. Нет у меня никаких проблем. Вас очень сложно понять. Толстый клиент, это приложение, в котором JVM работает на стороне клиента и, зачастую, используется некоторый GUI фреймверк Swing. Толстый клиент не является JEE модулем, потому что он работает независимо от JEE контейнера. JEE модуль это war или ejb-jar, который развернут на JEE сервере. Постарайтесь придерживатся этой терминологии. То что контейнер подставляет в поля значения реальных бинов, называется IoC, DI, CDI. CDI работает только в JEE модуле. В толстом контейнере используется подход, известный как Service Locator. Создаётся InitialContext и через него получается доступ к удаленным службам сервера. Сам контекст одинаково работает как на сервере, так и на клиенте, с той лишь разницей, что у EJB бывают локальные интерфейсы, которые удаленно использовать нельзя. Теперь по поводу вашей проблемы с IP. Если создавать InitialContext черед дефолтный конструктор, с использованием библиотек сервера приложений, то в этом случае данные библиотеки пытаются вычитать конфигурацию из настроек сервера приложений. (Как это конкретно реализовано в GlassFish - не знаю) При создании InitialContext можно переопределять дефолтные значения, как выше указал grasoff.net. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2012, 15:13:42 |
|
||
|
Как вызвать удалённый метод в EJB из GUI приложения?
|
|||
|---|---|---|---|
|
#18+
grasoff.netNiky4000Почему-то моё Enterprise Application хочет только с localhost работать, а я хочу, чтоб он соединялся с 172.16.1.250 Код: java 1. 2. не? Странно, но для GlassFish во многих примерах пишут, что нужно использовать "org.omg.CORBA.ORBInitialHost" для указания адреса. В том числе об этом написано в примере, ссылку на который уже привели выше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2012, 15:19:20 |
|
||
|
Как вызвать удалённый метод в EJB из GUI приложения?
|
|||
|---|---|---|---|
|
#18+
Niky4000Я создал другой проект - Enterprise Application, а не обычный Java Class. Библиотеки тут не причём в данном случае. С localhost всё работает. Почему-то моё Enterprise Application хочет только с localhost работать, а я хочу, чтоб он соединялся с 172.16.1.250. А явно это нигде не задаётся. Я думал, что при скачке stub'ов он сам привяжется к серверу, но нет. Надо думать как теперь клиента с сервером соединить. Попробуй "appclient -jar D:\Tasks\Java\Stubs\Enterprise1\EnterpriseApplication1Client.jar -targetserver 172.16.1.250" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2012, 15:38:50 |
|
||
|
Как вызвать удалённый метод в EJB из GUI приложения?
|
|||
|---|---|---|---|
|
#18+
Blazkowiczнужно использовать "org.omg.CORBA.ORBInitialHost" для указания адресаахнуда я просто к тому, что надо каким-то образом указать урл ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2012, 15:45:21 |
|
||
|
Как вызвать удалённый метод в EJB из GUI приложения?
|
|||
|---|---|---|---|
|
#18+
grasoff.netя просто к тому, что надо каким-то образом указать урл ) Да. Я что-то тупанул на этот счет в начале. Ведь у удаленноего клиента не может быть ссылки на настройки сервера, поэтому URL в том или ином виде нужно указывать в любом случае. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2012, 16:00:05 |
|
||
|
Как вызвать удалённый метод в EJB из GUI приложения?
|
|||
|---|---|---|---|
|
#18+
vas0 СПАСИБО! ЕЩЁ РАЗОК ОГРОМНОЕ!!! Всё получилось!!! Вот смертельная тройка команд: Код: sql 1. 2. 3. Первая deploy'ит EAR'ник! Вторая получает STUB'ы! А третья! Третья - самая убийственная команда - связывает клиента с удалённым GlassFish! А ещё вопросик: А может ли сервер инициировать что-то у клиентов по событиям сервера? Например, по таймеру? Или в случае, если условный "администратор" послал некое сообщение на сервер, которое сервер должен "раздать" всем клиентам, то есть сервер "инициирует" некие события у клиентов - сервер как бы возбуждает что-то у клиентов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2012, 15:05:48 |
|
||
|
Как вызвать удалённый метод в EJB из GUI приложения?
|
|||
|---|---|---|---|
|
#18+
Niky4000, Тихий ужас, в jboss такого не было ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2012, 15:57:57 |
|
||
|
Как вызвать удалённый метод в EJB из GUI приложения?
|
|||
|---|---|---|---|
|
#18+
Niky4000А может ли сервер инициировать что-то у клиентов по событиям сервера? Например, по таймеру? Или в случае, если условный "администратор" послал некое сообщение на сервер, которое сервер должен "раздать" всем клиентам, то есть сервер "инициирует" некие события у клиентов - сервер как бы возбуждает что-то у клиентов?Первый вариант - JMS. Создаешь тему (Topic), клиенты подписчики (Subscribers). Сервер генерирует сообщения, клиенты его получают и обрабатывают. Здесь тебе только клиентского потребителя сообщений (Consumer) нужно написать, а дальше только правильно все сконфигурировать. Второй варинт JMХ. В JMХ, вроде бы, есть модель оповещения, возможно она может подойти, но я не уверен. Последний вариант, это придумать собственный протокол на уровне: Sockets, RMI и всю реализацию писать самому. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2012, 15:57:58 |
|
||
|
Как вызвать удалённый метод в EJB из GUI приложения?
|
|||
|---|---|---|---|
|
#18+
GregTkjboss такого не былода в глассфише тоже без этого можно объодиться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2012, 16:01:25 |
|
||
|
Как вызвать удалённый метод в EJB из GUI приложения?
|
|||
|---|---|---|---|
|
#18+
grasoff.net, как то не заметно, вон как ТС мучается :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2012, 18:17:50 |
|
||
|
Как вызвать удалённый метод в EJB из GUI приложения?
|
|||
|---|---|---|---|
|
#18+
GregTkgrasoff.net, как то не заметно, вон как ТС мучается :)всё от того, что люди мало читают ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2012, 23:49:37 |
|
||
|
Как вызвать удалённый метод в EJB из GUI приложения?
|
|||
|---|---|---|---|
|
#18+
grasoff.netда в глассфише тоже без этого можно объодиться может немного поздно, но... вот что мне думается. Проблема в формировании InitialContext на стороне клиента. Например, для Weblogic-а все просто. Нужно клиенту подсунуть weblogic.jar, который содержит все необходимое (является самодостаточным), но он и весит около 50 метров. В глассфише перемудрили с ленивыми загрузками. В мануалах сказано, что клиенту для работы с аквариумом нужен лишь gf-client.jar (18 метров). НО! gf-client.jar начинает подгружать себе другие зависимости по ходу выполения. Подгружает он их как-то "не по пацански", что ли: ищет джарники в относительных путях как они лежат на GlassFish сервере. Поэтому, лично я нашел для себя простой (да избыточный, но моя ситуация позволяет) способ: я скопировал джарники с сервера на клиент (~40 метров) из glassfish\modules\. Список прилагается - как получил, уже не помню ;) На клиенте получаем контекст: Код: java 1. 2. 3. 4. 5. 6. 7. 8. В клиенте есть HelloRemote интерфейс. В Application.ear нет клиента вообще. Запускаем клиент: javaw -splash:./conf/Splash.jpg -classpath ./modules/gf-client.jar;./MyClient.jar -Dorg.omg.CORBA.ORBInitialHost=<hostName> com.client.swing.Main Если нужно JAAS, то в classpath отдельно прописывается security.jar (gf-client.jar на него не ссылается) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2012, 11:13:03 |
|
||
|
Как вызвать удалённый метод в EJB из GUI приложения?
|
|||
|---|---|---|---|
|
#18+
А ещё вопросик у меня 1 есть в эту тему: Утилита, которая запускает EnterpriseClient'а - это appclient. Она идёт в составе GlassFish'а. А отдельно её где можно взять? Или её из GlassFish'а нужно "вынуть"? Ну, не ставить же GlassFish всем клиентам из-за appclient'а... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2012, 09:23:28 |
|
||
|
Как вызвать удалённый метод в EJB из GUI приложения?
|
|||
|---|---|---|---|
|
#18+
Я вспомнил про эту тему. Хочу сказать, что у меня наконец-то получилось сделать это - запустить удалённого клиента, который бы вызывал удалённые процедуры удалённых EJB-модулей. Рассказываю как это делается, может кому пригодится. GlassFish 3.1.2 NetBeans 7.1.2 Java 1.7 Необходимо включить в проект следующие библиотеки: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. А клиент в простейшем случае выглядит примерно так: Код: sql 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2012, 16:41:41 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=37672705&tid=2131633]: |
0ms |
get settings: |
10ms |
get forum list: |
21ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
57ms |
get topic data: |
17ms |
get forum data: |
4ms |
get page messages: |
106ms |
get tp. blocked users: |
3ms |
| others: | 350ms |
| total: | 580ms |

| 0 / 0 |
