|
Java форум JavaTalks форум программистов
|
|
|
|
| Предыдущая тема :: Следующая тема |
| Автор |
Сообщение |
metal_666_ : 14 Новичок
|
Ноя 29, 2011 21:09 |
|
|
| При работе с RMI, после того, как программа отработала, поток сервера(там где производилась регистрация объектов) не завершается. В чем может быть дело и как с этим бороться? |
|
|
|
 |
Skipy : 4801 Я тут живу! Откуда: Москва, Россия
|
Ноя 30, 2011 11:37 |
|
|
Ничего не понятно. Какой поток? Какие объекты? Какая регистрация? _________________ С уважением,
Евгений aka Skipy
www.skipy.ru
P.S. Я НЕ решаю задачи ЗА других! |
|
|
|
 |
metal_666_ : 14 Новичок
|
Дек 02, 2011 13:51 |
|
|
Хорошо, напишу подробно.
Сервер:
У меня есть некоторые классы, которые расширяют класс UnicastRemoteObject и реализуют интерфейс Remote. Так вот, это и есть мои "объекты". Я их регистрирую с помощью метода rebind класса Registry.
Клиент:
После проделанных выше действий я запускаю клиента и получаю ссылки на зарегестрированные объекты. Далее работаю с ними и выхожу из программы.
После завершения работы клиента на сервере вызываю метод unbind, и завершаю выполнение программы. Однако поток исполнения моего сервера все еще остается запущенным(что то не дает полностью завершиться, но непонятно что). Почему? |
|
|
|
 |
Skipy : 4801 Я тут живу! Откуда: Москва, Россия
|
Дек 02, 2011 15:39 |
|
|
А реестр Вы поднимали отдельно или в том же приложении? _________________ С уважением,
Евгений aka Skipy
www.skipy.ru
P.S. Я НЕ решаю задачи ЗА других! |
|
|
|
 |
metal_666_ : 14 Новичок
|
Дек 02, 2011 18:54 |
|
|
| В том же приложении. Кстати собирал примеры из интернетов,с ними та же история. |
|
|
|
 |
metal_666_ : 14 Новичок
|
Дек 02, 2011 22:42 |
|
|
Прочел по данному сабжу одну вещь:
"Теперь для запуска объекта-сервера в этом примере используйте команду Java
ProductServer & (для UNIX) и команду star t Java ProductServer (для Windows).
Если для запуска использовать команду Java ProductServer, то она никогда не смо-жет нормально завершить свою работу. На первый взгляд это может показаться странным, ведь программа всего лишь создает и регистрирует два объекта, а функция main должна нормально прекращать работу немедленно после регистрации. Однако, при создании объекта-наследника класса UnicastRemoteObject создается отдельный поток, который поддерживает активность программы неопределенно долгое время. Таким образом, программа ожидает подключения к ней объектов-клиентов."
Что посоветуете? |
|
|
|
 |
Skipy : 4801 Я тут живу! Откуда: Москва, Россия
|
Дек 05, 2011 11:54 |
|
|
| metal_666_ писал(а): |
| Что посоветуете? |
После того, как решили, что больше работать не надо, вызвать System.exit(0). _________________ С уважением,
Евгений aka Skipy
www.skipy.ru
P.S. Я НЕ решаю задачи ЗА других! |
|
|
|
 |
metal_666_ : 14 Новичок
|
Дек 09, 2011 22:03 |
|
|
| О,спасибо большое! И как мне сразу не пришло это в голову. |
|
|
|
 |
|
|
Страница 1 из 1
|
Список форумов
-> Другие технологии |
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
|