| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Работа с сетью > Событие отсоединения |
| Автор: Elfix 16.11.2007, 16:12 |
| Привет. Работаю с сетью в качестве клиента по протоколу TCP через класс Socket. Бывают ситуации, когда сервер отключается от сети, а клиент должен как то на это отреагировать. Возможно ли организовать такой подход: если сервер упал, тогда клиент должен перезагрузиться (выгрузиться и загрузиться снова). Та же ситуация с MySQL. Бывает, что сервер где хостится MySQL тоже выпадает. Нужно чтобы если СУБД упала, клиент сделал бы попытку восстановить с ним соединение. Работаю с MySQL через mysql-connector-java-5.1.5. Уже бесконечно благодарен! |
| Автор: COVD 16.11.2007, 16:39 |
| Любое соединение проще мониторить извне, на уровне приложения - периодически проверять работоспособность тестовым сигналом или запросом в отдельном потоке. |
| Автор: Elfix 16.11.2007, 17:10 |
| Не понял ничего... Зачем из вне что-то мониторить? На каждую программу какой-то монитор дополнительно ставить. Не проще было бы всю функциональность однажды заключить в своей программе и заботиться лишь о ее запуске однажды? Не очень хорошо знаю яву, скорее быстрыми темпами пытаюсь переписать программу, параллельно изучая новый для себя язык. Поэтом очень тяжко пока все дается, особенно без примеров... |
| Автор: COVD 16.11.2007, 18:17 |
| "Извне" - в смысле, не уповать на встроенную диагностику сокетов и драйверов баз данных, а организовывать поверх их, на уровне приложения, простые регулярные проверки соединений. Исполнять в отдельном потоке, который запускается при старте приложения и проверяет раз в минуту, например, все соединения. Это актуально в приложениях, использующих постоянные соединения. Данная проблема не является специфической для java. Если вы применяете для работы с базой данных готовое решение в виде пула соединений, то, возможно, там это уже внутри все сделано. |
| Автор: Elfix 17.11.2007, 03:27 |
| Вот еще бы несколько строк кода и мои недопонимания исчерпали бы себя окончательно |
| Автор: COVD 19.11.2007, 16:36 |
| В нескольких строках кода можно только показать, как запустить отдельный поток, который периодически что-то делает (проверяет соединение с базой или сервером). Вы про это? |