![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
Elfix |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 167 Регистрация: 13.7.2005 Репутация: нет Всего: нет |
Привет. Работаю с сетью в качестве клиента по протоколу TCP через класс Socket. Бывают ситуации, когда сервер отключается от сети, а клиент должен как то на это отреагировать. Возможно ли организовать такой подход: если сервер упал, тогда клиент должен перезагрузиться (выгрузиться и загрузиться снова).
Та же ситуация с MySQL. Бывает, что сервер где хостится MySQL тоже выпадает. Нужно чтобы если СУБД упала, клиент сделал бы попытку восстановить с ним соединение. Работаю с MySQL через mysql-connector-java-5.1.5. Уже бесконечно благодарен! ![]() |
|||
|
||||
COVD |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 11 Всего: 43 |
Любое соединение проще мониторить извне, на уровне приложения - периодически проверять работоспособность тестовым сигналом или запросом в отдельном потоке.
|
|||
|
||||
Elfix |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 167 Регистрация: 13.7.2005 Репутация: нет Всего: нет |
Не понял ничего...
Зачем из вне что-то мониторить? На каждую программу какой-то монитор дополнительно ставить. Не проще было бы всю функциональность однажды заключить в своей программе и заботиться лишь о ее запуске однажды? Не очень хорошо знаю яву, скорее быстрыми темпами пытаюсь переписать программу, параллельно изучая новый для себя язык. Поэтом очень тяжко пока все дается, особенно без примеров... |
|||
|
||||
COVD |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 11 Всего: 43 |
"Извне" - в смысле, не уповать на встроенную диагностику сокетов и драйверов баз данных, а организовывать поверх их, на уровне приложения, простые регулярные проверки соединений. Исполнять в отдельном потоке, который запускается при старте приложения и проверяет раз в минуту, например, все соединения. Это актуально в приложениях, использующих постоянные соединения.
Данная проблема не является специфической для java. Если вы применяете для работы с базой данных готовое решение в виде пула соединений, то, возможно, там это уже внутри все сделано. Это сообщение отредактировал(а) COVD - 16.11.2007, 18:28 |
|||
|
||||
Elfix |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 167 Регистрация: 13.7.2005 Репутация: нет Всего: нет |
Вот еще бы несколько строк кода и мои недопонимания исчерпали бы себя окончательно
![]() |
|||
|
||||
COVD |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 11 Всего: 43 |
В нескольких строках кода можно только показать, как запустить отдельный поток, который периодически что-то делает (проверяет соединение с базой или сервером). Вы про это?
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Работа с сетью | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |