访问一段时间后,就不停的跳这个错误:以前频率很低,难得出现一次,也不影响访问,但是现在是不断的跳,打开速度超级慢com.jnetdirect.jsql.v: DBComms.transmit exception:[java.net.SocketException: Connection reset by peer: socket write error] context:[(50639) [Thread[com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#2,5,main], IO:fa483, Dbc:1529]]]
at com.jnetdirect.jsql.v.a(Unknown Source)
at com.jnetdirect.jsql.h.a(Unknown Source)
at com.jnetdirect.jsql.av.a(Unknown Source)
at com.jnetdirect.jsql.JSQLConnection.a(Unknown Source)
at com.jnetdirect.jsql.JSQLConnection.connect(Unknown Source)
at com.jnetdirect.jsql.JSQLDriver.connect(Unknown Source)
at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:135)
at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:182)
at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:171)
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:135)
at com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:974)
at com.mchange.v2.resourcepool.BasicResourcePool.access$800(BasicResourcePool.java:32)
at com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(BasicResourcePool.java:1750)
at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:547)

解决方案 »

  1.   

    我的运行环境是jdk1.5+tomcat5.5.23
    链接用sring配置的datasource,驱动是:com.jnetdirect.jsql.JSQLDriver 数据库SQLserver
    <bean id="dataSource"
    class="com.mchange.v2.c3p0.ComboPooledDataSource"
    destroy-method="close"> <property name="driverClass">
    <value>com.jnetdirect.jsql.JSQLDriver</value>
    </property> <property name="jdbcUrl">
    <value>jdbc:JSQLConnect://localhost/database=fccs20</value>
    </property> <property name="user">
    <value>sa</value>
    </property> <property name="password">
    <value>sunwei</value>
    </property> <property name="initialPoolSize">
    <value>10</value>
    </property>
    <property name="minPoolSize">
    <value>5</value>
    </property>
    <property name="maxPoolSize">
    <value>30</value>
    </property>
    <property name="acquireIncrement">
    <value>5</value>
    </property>
    <property name="maxIdleTime">
    <value>10</value>
    </property>
    <property name="maxStatements">
    <value>0</value>
    </property> </bean>
      

  2.   

    增加连接池的自动检测配置,详细配置看这里
    http://www.java2000.net/viewthread.jsp?tid=571
      

  3.   

    问题可能比较多c3p0设置过之后好许多,但是就原驱动还是存在该问题,只是几率少很多
    后来换jtds 的驱动,不存在该问题,性能问题依旧,长时间不停访问就导致out off memory
    最后设置内存大小,目前没有发现问题