sql >> Databáze >  >> RDS >> Mysql

První přihlášení:HTTP Status 500 – Zpracování požadavku se nezdařilo; vnořená výjimka je org.springframework.transaction.CannotCreateTransactionException

Zdá se, že MySQL nebo firewall zabíjí vaše neaktivní připojení, která se po dlouhou dobu poflakují ve vašem fondu připojení jdbc:

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

Zkontrolujte hodnotu wait_timeout na MySQL.

Můžete si pohrát s nastavením DBCP např. validationQuery, testOnBorrow a testWhileIdle.

Konfigurace, která je „opasek a rovnátka“ a pravděpodobně vyřeší váš problém na úkor výkonu, je:

<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>

Výše uvedené otestuje připojení pokaždé, když si půjčíte z fondu.




  1. Význam WHERE 1 v dotazech MySQL

  2. Vkládání do tabulky v pořadí

  3. Jaký zdroj sdružených dat bych měl použít pro Spring 3.1.0, Hibernate 4.0.1.Final a MySQL 5.1?

  4. vyberte součet množství ze 2 tabulek