JavaWeb项目 Mysql报错如下:
Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost.
连接池参数配置的问题。
项目中增加 连接池参数后重启项目即可解决
<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="defaultAutoCommit" value="false" />
<!--initialSize: 初始化连接-->
<property name="initialSize" value="5" />
<!--maxActive: 最大连接数量-->
<property name="maxActive" value="500" />
<!--maxIdle: 最大空闲连接-->
<property name="minIdle" value="10" />
<!--maxWait: 超时等待时间以毫秒为单位 6000毫秒/1000等于60秒-->
<property name="maxWait" value="60000" />
<!--timeBetweenEvictionRunsMillis: 每60秒运行一次空闲连接回收器-->
<property name="timeBetweenEvictionRunsMillis" value="60000" />
<!--minEvictableIdleTimeMillis: 池中的连接空闲5分钟后被回收-->
<property name="minEvictableIdleTimeMillis" value="300000" />
<!--removeAbandoned: 是否自动回收超时连接-->
<property name="removeAbandoned" value="true" />
<!--removeAbandonedTimeout: 超时时间(以秒数为单位)-->
<property name="removeAbandonedTimeout" value="1800" />
<!--testWhileIdle: 指明连接是否被空闲连接回收器(如果有)进行检验.如果检测失败,则连接将被从池中去除-->
<property name="testWhileIdle" value="true" />
<property name="logAbandoned" value="false" />
<!--validationQuery SQL查询,用来验证从连接池取出的连接,在将连接返回给调用者之前.如果指定,
则查询必须是一个SQL SELECT并且必须返回至少一行记录-->
<property name="validationQuery" value="SELECT 1" />
<property name="testOnBorrow" value="true"/>