|
|
|
Клиент не видит RMI-объект
|
|||
|---|---|---|---|
|
#18+
Разбираю простой пример rmi (калькулятор). 1. Создаю в нетбизне проект rmi_calc_test Создаем: интерфейс калькулятора: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. реализация интерфейса: Код: 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. регистрация сервися в rmi и привязка его к Calculator-у (вроде как): Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 2. Запускаем. Вывод: bind complite. (типа что-то зашуршало, но не уверен) 3. Создаем в этом же нетбинзе проект клиентского приложения (CalculatorServer все еще шуршит вроде как): Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. Так вот не видит проект клиента Calculator, ну и не компилируется. Одни пишут про создание заглушек с помощью rmic (немного попробовал, пока не очень вышло), другие пишут, что заглушки не нужны, запускаешь сервер и усе (видимо, сервис регается в rmi и все должно быть видно в других проектах?) В общем, что не так? ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2015, 11:46 |
|
||
|
Клиент не видит RMI-объект
|
|||
|---|---|---|---|
|
#18+
JDS, Код: java 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2015, 11:56 |
|
||
|
Клиент не видит RMI-объект
|
|||
|---|---|---|---|
|
#18+
0FD , возможно, но не похоже или туплю: Откуда удаленные клиенты могут знать, что надо импортировать, т.е. в каком пакете реализован класс для rmi? Или это сообщается в обязательном порядке? В любом случае: Добавил Код: java 1. Теперь не видит rmi_calc_test, не будем же мы тянуть на каждый клиент этот пакет как есть, тогда смысл rmi. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2015, 12:04 |
|
||
|
Клиент не видит RMI-объект
|
|||
|---|---|---|---|
|
#18+
Надо 3 проекта - калькулятор-интерфейс, калькулятор-реализация-интерфейса-сервер, калькулятор-клиент, оба последних зависят от первого. Смысл - быстрее, но при изменении интерфейса надо перекомпилировать слишком много всего. Поэтому неудобно и лучше использовать что-то другое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2015, 12:13 |
|
||
|
Клиент не видит RMI-объект
|
|||
|---|---|---|---|
|
#18+
JDS, Клиент же должен знать интерфейс сервиса, надо тянуть, он не должен знать как реализован он. В нетбинс кажется можно так library -> add project -> rmi_calc_test ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2015, 12:16 |
|
||
|
Клиент не видит RMI-объект
|
|||
|---|---|---|---|
|
#18+
0FD , точно, туплю! )) На то ж он и интерфейс ) Добавил, заработало, спасиб. no56892, ну пока обошелся двумя вроде, выносить интерфейс в отдельный проект? Полезно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2015, 12:25 |
|
||
|
Клиент не видит RMI-объект
|
|||
|---|---|---|---|
|
#18+
Наваял более реальный пример. Вроде все компилится, но при выполнении падает на строке, как если бы CalculatorServer-е падал на строке: Код: java 1. С ошибкой: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Т.е. пачимута не может загрузить класс-реализующий интерфейс. Хотя визуально вроде все нормально. Может какие-то ограничения на класс реализации накладываются? Интерфейс публичный, один публичный метод в нем, класс реализации объявлен как Код: java 1. в этом классе тоже один публичный метод с throws java.rmi.RemoteException, кот. возвращает строку, конструктор, ну и кучка приватных методов, все точно так же как в простом примере с калькулятором, но что-то не так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2015, 15:52 |
|
||
|
Клиент не видит RMI-объект
|
|||
|---|---|---|---|
|
#18+
Не выходит каменный цветок. Упростил уже дальше некуда Интерфейс: Код: java 1. 2. 3. Реализация: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. При попытке инициализировать интерфейс в классе, который регистрирует удаленный интерфейс: Код: java 1. 2. 3. 4. 5. 6. Падает на выделенной строке: Код: java 1. При этом уже рядом создал два тестовых примера, которые работают, а этот все никак. Если что, попробую мигрировать нужный код в рабочие тестовые примеры, но интересно понять, что не так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2015, 12:21 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39120371&tid=2124582]: |
0ms |
get settings: |
7ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
146ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 212ms |
| total: | 447ms |

| 0 / 0 |
