MyBatis问题与MSSQL,在Tomcat中运行的JTDS

时间:2014-05-22 20:44:19

标签: java sockets timeout mybatis jtds

我有一个Web服务应用程序(Apache,Tomcat,JAVA,Spring,MyBatis,jndi,jtds堆栈),可以执行许多数据库查询。最近,我们一直有数据库服务器过载问题,通常需要10-20秒的复杂查询现在需要60多秒。

除了缓慢之外,已经开始发生的事情是,当查询推送90秒标记(几乎完全)时,MyBatis层会出现错误:" java.sql.SQLException:I / O错误:套接字关闭; SQL []; I / O错误:套接字关闭;嵌套异常是java.sql.SQLException:I / O错误:套接字已关闭"

我知道最好的解决方法是make SQL更快;我们正在努力。与此同时,任何关于90秒插座超时的想法都来自哪里?

从阅读开始,看起来jtds连接的套接字超时默认为0.我尝试将其设置为10分钟,但它不会更改90秒发生的错误:url = " JDBC:JTDS:SQLSERVER:// mydatabaseserver:1433;数据库名= MyDatabase的; sendStringParametersAsUnicode = FALSE;了socketTimeout = 600"

除此之外我还可以摆脱这个超时?

由于

0 个答案:

没有答案