升级到 druid-1.1.6 后报错: java.sql.SQLException: The setQueryTimeout method requires a parameter value >= 0. mssql-jdbc 和 jtds 驱动均报错,没有配置 validationQueryTimeout,但是在 druid-1.1.5 中没有问题
原提问者GitHub用户JaynLau
您升级到druid-1.1.6后出现的问题,可能与Druid在1.1.6版本中对setQueryTimeout方法的参数值进行了检查有关。在Druid 1.1.6及以上版本中,setQueryTimeout方法的参数值必须大于等于0,否则会抛出java.sql.SQLException异常。
根据您的描述,您没有配置validationQueryTimeout参数,这可能导致Druid在执行连接池的验证操作时,使用默认的超时时间(默认为1秒)。如果验证操作耗时超过了1秒,可能会导致setQueryTimeout方法的参数值为负数,进而抛出异常。
您的问题可能是由于 druid 在升级到 1.1.6 版本后,对于查询超时的处理方式发生了变化所导致的。具体来说,如果您在使用 druid 时,没有配置 validationQueryTimeout 参数,但是在 druid 1.1.5 版本中仍然可以正常使用,但是在 druid 1.1.6 版本中却无法正常使用,那么可能是因为 druid 在 1.1.6 版本中对于查询超时的处理方式发生了变化,需要设置 validationQueryTimeout 参数才能正常使用。
1.1.6版本Druid连接MSSQLServer 2008 R2报错The query timeout value -1 is not valid. fixed https://github.com/alibaba/druid/releases/tag/1.1.8
原回答者GitHub用户JaynLau
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。