druid 1.2.16版本使用Oracle数据库,配置connectTimeout和socketTimeout两个属性无效,但实际在执行超时10秒的SQL查询时,就报错:oracle.net.nt.TimeoutInterruptHandler$IOReadTimeoutException: Socket read timed out,而且都是到10秒就超时,看了一下源码,这两个属性只对Mysql设置用效,大家有没有出现这样的问题?
`private void initFromUrlOrProperties() { if (jdbcUrl.startsWith("jdbc:mysql://")) { if (jdbcUrl.indexOf("connectTimeout=") != -1 || jdbcUrl.indexOf("socketTimeout=") != -1) { String[] items = jdbcUrl.split("(\?|&)"); for (int i = 0; i < items.length; i++) { String item = items[i]; if (item.startsWith("connectTimeout=")) { String strVal = item.substring("connectTimeout=".length()); setConnectTimeout(strVal); } else if (item.startsWith("socketTimeout=")) { String strVal = item.substring("socketTimeout=".length()); setSocketTimeout(strVal); } } }
Object propertyConnectTimeout = connectProperties.get("connectTimeout");
if (propertyConnectTimeout instanceof String) {
setConnectTimeout((String) propertyConnectTimeout);
} else if (propertyConnectTimeout instanceof Number) {
setConnectTimeout(((Number) propertyConnectTimeout).intValue());
}
Object propertySocketTimeout = connectProperties.get("socketTimeout");
if (propertySocketTimeout instanceof String) {
setSocketTimeout((String) propertySocketTimeout);
} else if (propertySocketTimeout instanceof Number) {
setSocketTimeout(((Number) propertySocketTimeout).intValue());
}
}
}`