jdbc4 CommunicationsException

У меня есть машина, на которой запущено приложение Java, говорящее с экземпляром mysql, работающим на том же экземпляре. приложение  использует драйверы jdbc4 от mysql. Я продолжаю получать com.mysql.jdbc.exceptions.jdbc4.CommunicationsException  в случайное время.

Вот и все сообщение.

Не удалось открыть JDBC-соединение для транзакции; вложенное исключение

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet successfully received from the server was25899 milliseconds ago.The last packet sent successfully to the server was 25899 milliseconds ago, which  is longer than the server configured value of 'wait_timeout'. You should consider either expiring and/or testing connection validity before use in your application, increasing the server configured values for client timeouts, or using the Connector/J connection property 'autoReconnect=true' to avoid this problem.

Для mysql значение global & quot; wait_timeout & apos; и «interactive_timeout»; установлен на 3600 секунд и "connect_timeout" установлен на 60 секунд. значение времени ожидания намного выше, чем 26 секунд (25899 мсек). упоминается в следе исключения.

Я использую dbcp для пула соединений, и вот конфигурация bean-компонента spring для источника данных.

   <bean id="dataSource" destroy-method="close" class="org.apache.commons.dbcp.BasicDataSource" >
          <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
                    <property name="url" value="jdbc:mysql://localhost:3306/db"/>
                <property name="username" value="xxx"/>
                <property name="password" value="xxx" />
                    <property name="poolPreparedStatements" value="false" />
            <property name="maxActive" value="3" />
            <property name="maxIdle" value="3" />
    </bean>

Есть идеи, почему это может происходить? Решит ли проблема использование c3p0?

Ответы на вопрос(4)

Ваш ответ на вопрос