2013-01-25 7 views
1

Я использую шаблон Spring JDBC и пул соединений BoneCP. Когда я намеренно устанавливаю URL-адрес JDBC на недопустимое значение (чтобы проверить, как моя система работает с невозможностью подключения к базе данных), он запускает UnknownHostException при запуске сервера, но сервер продолжает запускаться. Когда я отправляю запрос, метод jdbcTemplate.query(sql) зависает. Каков хороший способ справиться с этим, чтобы система не зависала в jdbcTemplate.query(sql)?Как предотвратить зависание вызова базы данных в jdbcTemplate.query, когда база данных недоступна?

Этот сценарий возможен, если база данных не работает из-за проблем с подключением к сети. Я попытался поиграть с значениями idleMaxAgeInSeconds и maxConnectionAgeInSeconds; Я установил их как 10, но код все еще висит в jdbcTemplate.query().

ответ

1

Я не уверен, что я понимаю ваш вопрос, но мне кажется, что вы не хотите, чтобы сервер запускался, если произошло исключение, или вы хотите установить статическую переменную, которая проверяет, включена ли база данных раньше пытаясь связаться с ним (при инициализации jdbc нет неизвестного исключенияHostException).

Может быть, это указывает Вам на Ваш ответ:

http://www.cubrid.org/blog/dev-platform/understanding-jdbc-internals-and-timeout-configuration/

удачи!

 Смежные вопросы

  • Нет связанных вопросов^_^