|
|
|
Помогите разобраться с RMI Hello World!
|
|||
|---|---|---|---|
|
#18+
Уже начитался кучу примеров, но не получается с RMI разобраться. Взял пример отсюдова: http://docs.oracle.com/javase/6/docs/technotes/guides/rmi/hello/hello-world.html Использую NetBeans 7.1 Создал проект RMIServer, а в нём класс RMIServer и интерфейс Hello. Вот интерфейс: Код: sql 1. 2. 3. 4. 5. 6. 7. Вот Класс RMIServer: Код: 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. Исключение возникает в строке registry.bind("Hello", stub); Код: 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. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2012, 21:51:50 |
|
||
|
Помогите разобраться с RMI Hello World!
|
|||
|---|---|---|---|
|
#18+
Если так написать - добавить SecurityManager: Код: 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. То вываливается вот это: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2012, 22:18:42 |
|
||
|
Помогите разобраться с RMI Hello World!
|
|||
|---|---|---|---|
|
#18+
Блин, а если вот так написать: Код: 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. То исключений не возникает. Вроде как работает. А если в качестве порта указать 1099, то не работает - исключения возникают. Что за ерунда? Неделю с этим вожусь - уже голова плохо соображает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2012, 22:23:02 |
|
||
|
Помогите разобраться с RMI Hello World!
|
|||
|---|---|---|---|
|
#18+
Niky4000 , Как вы запускаете первый вариант? Там четко написано - class not found rmiserver.Hello. Значит при компиляции класс виден, а при работе самого приложения нет. Возможно какая-либо ошибка сборки. Приведите полный стек-трейс. По третьему варианту - а что за эксепшн вылетает на порту 1099? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2012, 22:39:00 |
|
||
|
Помогите разобраться с RMI Hello World!
|
|||
|---|---|---|---|
|
#18+
svenom, В 3-ем варианте проблема забиндиться на порт 1099 - так обычно на никсах валится если на привилегированный порт (от 1 до 1024) пытаешться забиндиться не рутом. Почему тут валится на 1099 - непонятно. Автор, что за ОС? Фаерволл мож какой? А 1098 пускает - может быть какая-то настройка ОС знает что 1099 это RMI и не дает возможность "обычным" пользователям туда биндиться? Гуру, реальна ли такая ситуация? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2012, 02:06:38 |
|
||
|
Помогите разобраться с RMI Hello World!
|
|||
|---|---|---|---|
|
#18+
В руководствах, которые я читал было написано, что обязательно надо запустить rmiregistry.exe в windows или аналогичное в Linux. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. Ошибка в этом случае такая - порт занят. Код: 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. Кстати, если писать так: Registry registry = LocateRegistry.getRegistry("localhost", 1098); То всегда возникает исключение. Если не запускать rmiregistry.exe, то Registry registry = LocateRegistry.createRegistry(1099); - сервер запускается. Наверное, не нужно его явно запускать. Он, видимо, сам как-то создаётся и запускается по команде LocateRegistry.createRegistry. По клиенту: Код: 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. Клиент по руководствам написан. При его запуске возникает вот это: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. А в консоли у сервера вот это в момент попытки подключения клиента: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. Клиент и сервер должны реализовывать общий интерфейс Hello. Я засунул класс Hello в проект RMIServer, а в проекте RMIClient прописал RMIServer как библиотеку RMIClient'а. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2012, 14:08:30 |
|
||
|
Помогите разобраться с RMI Hello World!
|
|||
|---|---|---|---|
|
#18+
Во блин! Закомментировал вот это в сервере: Код: sql 1. 2. 3. 4. И попёрло!!!!!!! Клиент немного изменил. Написал вот так: Код: 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. Клиент ответил вот это: Код: sql 1. 2. 3. Вопрос. А нафиг тогда этот SecurityManager нужен? Там нет функций установки прав доступа. Можно их только смотреть. Короче, SecurityManager блокировал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2012, 14:26:16 |
|
||
|
Помогите разобраться с RMI Hello World!
|
|||
|---|---|---|---|
|
#18+
Вместо клиента написал код сервера. А можно на этом форуме редактировать свои сообщения? Пока не нашёл как это делать, пишу код клиента: Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2012, 14:28:23 |
|
||
|
Помогите разобраться с RMI Hello World!
|
|||
|---|---|---|---|
|
#18+
Не знаю как редактировать свои сообщения, поэтому пишу ещё... Надо бы это ещё на Linux'е потестировать - интересно, там также всё работать будет или как? А зачем во всех руководствах написано, что надо отдельно запустить процесс rmiregistry? Ну, тогда ещё вопрос: Создаю Enterprise проект. Создаю Enterprise клиента. В EJB проекте создаю Session Bean с удалённым интерфейсом. Затем NetBeans, по идее, должен объявить интерфейс в Enterprise клиенте, чтобы была возможность вызвать удалённо метод. Но почему-то NetBeans предлагает сделать это где угодно, но только не в Enterprise клиенте. Картинка прилагается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2012, 15:02:43 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=37658287&tid=2132573]: |
0ms |
get settings: |
13ms |
get forum list: |
26ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
62ms |
get topic data: |
21ms |
get forum data: |
6ms |
get page messages: |
91ms |
get tp. blocked users: |
3ms |
| others: | 326ms |
| total: | 560ms |

| 0 / 0 |
