2019-09-12 10:45

感谢楼主分享,在实际整合到spring过程中,Config.close(),关闭链接的方法也需要处理,否则当存在事务操作的业务中,第二次操作数据库则会报错,事务操作关闭conn操作应该交给spring自行处理。而且我在查看druid检测页面时发现,逻辑打开连接数与逻辑关闭连接数在druid 1.0.29版本会出现不一致的情况,可能是druid自身统计bug造成,升级至1.1.18后问题解决。我的close代码修改如下:
ConnectionHolder conHolder = (ConnectionHolder) TransactionSynchronizationManager.getResource(dataSource);
//判断当前是否为事务环境
if(conHolder == null || !conHolder.isSynchronizedWithTransaction()){
try {
//非事务环境释放conn
DataSourceUtils.doReleaseConnection(conn,dataSource);
} catch (SQLException e) {
e.printStackTrace();
}
}

2019-01-11 15:04

@JFinal 感谢波总解答!!

2019-01-11 10:57

@JFinal 好的,非常感谢 波总!!!