sql >> Database >  >> RDS >> Mysql

Eerste aanmelding:HTTP-status 500 - Verwerking van verzoek is mislukt; geneste uitzondering is org.springframework.transaction.CannotCreateTransactionException

Het lijkt erop dat MySQL of een firewall uw inactieve verbindingen die gedurende lange tijd in uw jdbc-verbindingspool rondhangen, uitschakelt:

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

Controleer de waarde van wait_timeout op MySQL.

Je kunt spelen met DBCP-instellingen bijv. validationQuery, testOnBorrow en testWhileIdle.

Een confuguratie die 'riem en bretels' is en waarschijnlijk uw probleem zal oplossen ten koste van de prestaties is:

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

Het bovenstaande test verbindingen elke keer dat u leent van de pool.




  1. Een gegevensmodel voor het verhandelen van aandelen, fondsen en cryptocurrencies

  2. 5 veelgemaakte fouten die u moet vermijden bij het ontdubbelen van uw gegevens

  3. Zou singleton een goed ontwerppatroon zijn voor een microblogsite?

  4. Hoe te SELECTEREN * maar zonder Kolomnamen moeten uniek zijn in elke weergave