#jdbc #c3p0
#jdbc #c3p0
Вопрос:
В моем случае для тестирования соединения c3p0 требуется слишком много времени при выполнении запроса
SHOW FULL TABLES FROM `xyz` LIKE 'PROBABLYNOT'
пока я использую mysql connector версии 5.1.25. есть драйвер, поддерживающий JDBC 4.
поскольку я ссылался на одну ссылку
http://www.mchange.com/projects/c3p0/#configuring_connection_testing
где упоминается, что
Если вы используете драйвер JDBC, который, как вы уверены, поддерживает новый (ish) API JDBC 4, ничего не делайте. Соединения JDBC 4 включают метод с именем isValid(), который должен быть реализован как быстрый и надежный тест соединения. По умолчанию c3p0 будет использовать этот метод, если он присутствует.
итак, мой вопрос в том, как я узнал, что используется именно метод isvalid () и какой запрос выполняется, когда c3p0 вызывает этот метод.
Ответ №1:
Показанный вами запрос определенно вытекает из теста медленного соединения c3p0 по умолчанию.
Документы, которые вы используете, предназначены для последней версии c3p0, 0.9.5-pre8. Возможно, вы используете недостаточно свежую версию. (Я должен поместить примечание в документы, указывающее на это.)
Итак … либо обновитесь до 0.9.5-pre8 (это высококачественное решение, очень близкое к выпуску), либо укажите эффективный preferredTestQuery
параметр конфигурации ( SELECT 1
кажется, работает для MySQL.)
Комментарии:
1. спасибо. я обновил его до 0.9.5-pre8, и он работает.
![]()