发表于: 2017-11-17 21:05:22

1 627


昨天被单元测试搞得心态爆炸,可能查的方式不对,也没能查到解决方法。


今天完成的事情:把pom文件中添加了标签,解决了单元测试的问题,标签如下

                        

            将maven项目上传到云服务器并跑maven单元测试,发现test成功,并在控制台看到单元测试结果。(在这里,由于云服务器的mysql和自己笔记本的mysql的密码不一致,所以刚开始连接不到数据库,后来把jdbc.properties文件中连接数据库的密码改了后,重新编译后出现正常结果)

 将使用JdbcTemplate编写的项目部署到云服务器上,也测试成功

          测试不关闭连接池调用1000个循环

          测试方法:

         测试结果似乎没什么特别的,我看的别人的日志输出都有数据库连接池释放链接相应的记录,我的不知道怎么没有。不知道是日志文件的原因还是配置文件的原因。

     这是我的log4j.properties文件的内容:

        之后,无意间,在插入完成结束后把SqlSession关闭了,发现出现了释放连接这个记录。这里的SqlSession就是之前通过SqlSessionFactory.openSession()方法生成的那个。

        此外,在调用1000个循环的时候隐约看到create connection的字样,由于日志记录较长,很快就给刷没了,所以重写了for循环,只调用2次。

        发现,先建立的连接和释放的连接是同一个(好像是废话),不清楚这个连接是本身存在在连接池里的,还是因为要用到所以才创建的

                  这里的事务提交默认的是false,所以需要主动调用commit方法

                  还有就是,PooledDataSource forcefully closed/removed all connections有什么含义?上面那个图上第2-5行都出现了


问题:测试一下连接DB中断后TryCatch是否能正常处理这个任务中,DB连接中断是什么意思?是在调用方法的时候把3306这个端口停掉?还是事务提交过程中出现异常导致的事务回滚?


收获,eclipse不会编译在src/main/java目录下的xml,properties文件,所以需要在resources标签里面配置。


计划,周末尽量把任务一做完!


返回列表 返回列表
评论

    分享到