ДА, я думаю, что важно присвоить версию Вашей базе данных. Не данные, но схема наверняка.
В Ruby on Rails, это обрабатывается платформой с "миграциями". Любое время Вы изменяете дб, Вы делаете сценарий, который применяет изменения, и проверьте его в управлении исходным кодом.
Моему магазину понравилась та идея так, что мы добавили функциональность к нашей основанной на Java сборке сценарии оболочки использования и Муравей. Мы интегрировали процесс в нашу стандартную программу развертывания. Было бы довольно легко записать сценарии, чтобы сделать то же самое в других платформах, которые не поддерживают управление версиями DB out-of-the-box.
Попробуйте правильно настроить Apache Commons DBCP.
Вам необходимо установить:
Это должно решить проблему.
Можете ли вы описать, как ваше приложение обрабатывает пул соединений? Я сомневаюсь, что autoReconnect = true в драйвере JDBC повторно объединит соединения из вашего приложения. Приложению требуется переподключение при потере соединения.
Я бы последовал совету в исключении. Вы должны рассмотреть либо:
Я сомневаюсь, что C3P0 будет намного лучше, чем DBCP, которую вы уже используете. Исключение составляет конкретный совет. Вы пробовали №3. А как насчет двух других?
Я знаю, как попросить WebLogic проверять соединения перед их использованием. Вы должны узнать, как сделать то же самое с Tomcat.
Я видел раньше, что компьютеры с Windows, которые были перемещены по сети, имели проблемы с подключением к себе.
Есть ли какие-либо проблемы с подключением за пределами JVM, то есть клиент mysql, подключающийся к сервер, время ожидания и т. д.?