1

I got this exception in my webapp ! like this:

    Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

    The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
            at sun.reflect.GeneratedConstructorAccessor233.newInstance(Unknown Source)
            at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
            at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
            at com.mysql.jdbc.Util.handleNewInstance(Util.java:408)
            at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1137)
            at com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:674)
            at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1086)
            at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2508)
            at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2541)
            at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2323)
            at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:832)
            at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:46)
            at sun.reflect.GeneratedConstructorAccessor24.newInstance(Unknown Source)
            at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
            at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
            at com.mysql.jdbc.Util.handleNewInstance(Util.java:408)
            at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:417)
            at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:344)
            at org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38)
            at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582)
            at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:1148)
            at org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:106)
            at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)
            at org.springframework.jdbc.datasource.DataSourceTransactionManager.doBegin(DataSourceTransactionManager.java:203)
            ... 81 more
    Caused by: java.net.SocketException: Connection reset
            at java.net.SocketInputStream.read(SocketInputStream.java:168)
            at com.mysql.jdbc.util.ReadAheadInputStream.fill(ReadAheadInputStream.java:112)
            at com.mysql.jdbc.util.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:159)
            at com.mysql.jdbc.util.ReadAheadInputStream.read(ReadAheadInputStream.java:187)
            at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:3158)
            at com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:598)
            ... 99 more

and my dataSource config is like this:

    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
        destroy-method="close">
        <property name="driverClassName" value="$J{jdbc.driver}" />
        <property name="url" value="$J{jdbc.url}" />
        <property name="username" value="$J{jdbc.username}" />
        <property name="password" value="$J{jdbc.password}" />
        <property name="validationQuery" value="select 1"></property>
        <property name="initialSize" value="50" />
        <property name="maxIdle" value="100" />
        <property name="minIdle" value="50" />
        <property name="maxActive" value="500" />
        <property name="maxWait" value="20000" />
    </bean>

and i mysql server timeout variables is :

interactive_timeout 3000000

wait_timeout    30000000

Can anyone help me to fix this problem,It's Occurred in my performance testing.

Jason
  • 13
  • 2
  • What's the number of row count you are expecting? probably high? Do you think you will get rows within 20 secs? also you missed when do you want to validate your connection? – SMA Jul 13 '15 at 10:54

0 Answers0