【发布时间】:2018-07-07 20:30:51
【问题描述】:
我收到了 Socket 关闭异常,案例和原因来自:Getting SQLServerException socket close for one particular method in Java
为了解决这个问题,我按照建议使用了(JdbcInterceptors):WebApp (Tomcat-jdbc) Pooled DB connection throwing abandon exception
谢谢你们,但这个解决方案不适用于我的情况, 尽管如此,我还是收到了 Socket Closed 异常, 我用过jdbcInterceptors,你可以检查下面的配置...
<Resource
name="jdbc/dev"
auth="Container"
type="javax.sql.DataSource"
maxActive="100"
maxIdle="5"
maxWait="-1"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://Localhost:1433;DatabaseName=outingDB"
username="sa"
password="local#123"
removeAbandoned="true"
removeAbandonedTimeout="30"
logAbandoned="false"
abandonWhenPercentageFull="50"
jdbcInterceptors="org.apache.tomcat.jdbc.pool.interceptor.ResetAbandonedTimer"/>
在我的情况下,我的一个 sql 查询需要更多的执行时间然后 removeAbandonedTimeout, 所以连接正在关闭,它会抛出 Socket Closed 异常。
现在我想重置 Abandoned Timer,如果正在使用连接或者是否有其他方法可以增加数据库的 Socket 超时。
请给我建议,是对是错还是有其他方法可以实现?提前谢谢。
【问题讨论】:
标签: java sql-server jdbc tomcat7 connection-pooling