Notice! This post is more than a year old. It may be outdated.
I was trying to connect to a MySql database but every once in a while I got the following exception
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failureAs usual, I opened a new browser tab and started googling for possible solutions. To my amazement, I found a lot of proposed solutions. I’m going to list 2 of them that worked for me.
1. Add ?autoReconnect=true to you JDBC URL
jdbc:mysql://localhost:3306/?autoReconnect=true2. Using DBCP as connection pool with Spring
Add the following entries to your datasource definition (the last 2 property elements):
<bean id=”datasource” destroy-method=”close”>
	<property name=”driverClassName” value=”${.jdbc.driver}” />
	<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> 
      