JDBC连接问题
我不喜欢乱发代码,只挑重点
xml配置
<tx:method name="openConn" propagation="REQUIRED"/>
openConn
public void openConn()throws Exception{
System.out.println(employeeDao.findById(2).getEname());
Thread.sleep(10000);
}main函数 主要逻辑 (Ioc容器等等简单代码就不贴了)
while (true){
n = sc.nextInt();
if (n==2){
break;
}
employeeService.openConn(); // openConn在Service里面,会被切点扫描到,xml文件如上只会扫描openConn函数,并以Around的方式进行插件,事务方式也如上REQUIRED或者REQUIRS_NEW都试过
}问题: 我这么写代码,无非就是想熟悉整个流程,,当然最重要的是想测试 springJDBC如何控制连接数 因此我增加了延迟10秒的操作
(1) 每次查询我都延迟10秒,为的是让这个连接在10秒内不会被关闭(结合事务机制Reqired和Req_NEW都试过,结果一样)
(2) 通过whileTrue 不断创建连接,但结果却让我想不明白,,因为每一次open连接以后,确实是创建了一个事务,并且等待10秒,但为什么 下一个事务必须等 上一个事务处理完以后 才能开始,,结果导致 永远只有一个 连接 (通过logback日志和Navicat可以证实,不能像连接池,或者原生JDBC接口一样创建多个连接并发处理事务)
正在回答
同学你好,在后面课程SSM开发社交网站中会讲到配置数据库连接池 https://class.imooc.com/lesson/1412#mid=35687,建议同学可以先往后学习。
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
- 参与学习 人
- 提交作业 9393 份
- 解答问题 16556 个
综合就业常年第一,编程排行常年霸榜,无需脱产即可学习,北上广深月薪过万 无论你是未就业的学生还是想转行的在职人员,不需要基础,只要你有梦想,想高薪
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星