Mysql
 sql >> база данни >  >> RDS >> Mysql

Първо влизане:HTTP Състояние 500 - Обработката на заявката неуспешна; вложеното изключение е org.springframework.transaction.CannotCreateTransactionException

Изглежда, че MySQL или защитна стена убива вашите неактивни връзки, които се мотаят във вашия пул за връзки jdbc за дълги периоди от време:

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure 
The last packet successfully received from the server was 4,665,488 milliseconds ago.

Проверете стойността на wait_timeout на MySQL.

Можете да си поиграете с Настройки на DBCP напр. validationQuery, testOnBorrow и testWhileIdle.

Конфигурация, която е "колан и скоби" и вероятно ще реши проблема ви за сметка на производителността е:

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
  <property name="driverClassName" value="${jdbc.driverClassName}"/>
  <property name="url" value="${jdbc.url}"/>
  <property name="username" value="${jdbc.username}"/>
  <property name="password" value="${jdbc.password}"/>
  <property name="validationQuery" value="SELECT 1"/>
  <property name="testOnBorrow" value="true"/>
</bean>

Горното ще тества връзките всеки път, когато вземете заем от пула.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Какъв тип данни на MySQL трябва да се използва за географска ширина/дължина с 8 знака след десетичната запетая?

  2. как да разбера дали колоната е първичен ключ с помощта на mysqli?

  3. Бутон за връщане назад за уебсайт с една страница

  4. Съхранявайте чувствителни данни в Silverstripe 3.1

  5. Как могат да се проверят индексите, ако съществуват при миграция на Laravel?