【发布时间】:2012-07-17 13:59:57
【问题描述】:
我正在使用 JDBCTemplate。对于一个特定的查询,JDBCTemplate 在调用超过 3-4 次后挂起,有时在 15-20 次尝试后。我的代码中没有发现任何错误。
private String getXXX(String table)
{
System.out.println("Test 1");
final List<String> data = getJdbcTemplate().queryForList(SELECT_TBL_NME,
new Object[] { table }, String.class);
System.out.println("Test 2");
ret = data.size() > 0 ? data.get(0) : null;
return ret;
}
如果函数被调用超过 15 次,有时甚至在第 3 次或第 4 次调用之后,控制台会在“测试 1”处挂起而没有任何错误。
【问题讨论】:
-
jdbcTemplate使用的dataSource怎么定义?看起来它无法获得与数据库的连接。
-
我的班级正在扩展 JDBCDaoSupport 和我的 bean
<property name="dataSource" ref="DBMetaDataDS"></property> -
如果您从除主线程之外的另一个线程运行它,请确保您正确处理错误日志记录。因为它可能是,您的查询只是默默地失败并且您看不到预期的结果
标签: java spring spring-jdbc