Рейтинг:0

Ошибка java.sql.SQLNonTransientConnectionException между Glassfish 3 и MariaDB

флаг ve

У меня есть веб-приложение Java, развернутое в Glassfish. Это приложение взаимодействует с сервером Mariadb. Внезапно приложение перестает работать. Я проверяю журнал сервера app.log и Glassfish и получаю следующие результаты:

app.log

Не удалось открыть соединение JDBC для транзакции; вложенным исключением является java.sql.SQLNonTransientConnectionException: не удалось отправить запрос: последний пакет не завершен

сервер.лог

### Ошибка может существовать в файле [/opt/glassfish3/glassfish/domains/domain1/applications/exampleApp/WEB-INF/class/model/xml/ParameterMapper.xml]
### Ошибка может включать defaultParameterMap
### Произошла ошибка при настройке параметров
### SQL: ВЫБЕРИТЕ СЕЙЧАС();
### Причина: java.sql.SQLNonTransientConnectionException: не удалось отправить запрос: последний пакет не завершен
; SQL []; Не удалось отправить запрос: последний пакет не завершен; вложенным исключением является java.sql.SQLNonTransientConnectionException: не удалось отправить запрос: последний пакет не завершен |#]

Приложение повторяет одни и те же операции с базой данных каждые 5 минут.

Я попытался перезагрузить приложение с помощью Glassfish, но это не сработало. Единственный способ - перезапустить сервер, и это работает, но ненадолго.

Что происходит для этого случая? или Что я могу сделать?

Рейтинг:0
флаг ve

Я получил ответ. Что я сделал, так это изменил параметр wait_timeout в server.cnf. Значение было 30, и я изменил его на значение по умолчанию 28800. Его можно было установить ниже 28800, но это уже другая проблема. Случилось так, что java-приложение выполняло несколько операций вставки каждые 5 минут, поэтому соединение было закрыто сервером Mariadb из-за ожидания_тайм-аута. Мне интересно, что соединение с БД было одноэлементным, и приложение не проверяло, закрыто ли соединение.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.