博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据源 No operations allowed after connection closed
阅读量:6869 次
发布时间:2019-06-26

本文共 768 字,大约阅读时间需要 2 分钟。

Spring提供了两个这样的数据源(都位于org.springframework.jdbc.datasource程序包里):

DriverManagerDataSource:在每个连接请求时都新建一个连接。与DBCP的BasicDataSource不同,DriverManagerDataSource提供的连接没有进行池管理。
SingleConnectionDataSource:在每个连接请求时都返回同一个连接。虽然它不同严格意义上的池管理数据源,但我们可以把它看作只有一个连接的池。
对两个数据源的配置都类似于配置DBCP的BasicDataSource
区别在于由于DriverManagerDataSource和SingleConnectionDataSource都没有提供连接池,所以在此没有设置池配置属性。
虽然这两个数据源都对于小程序来说是很不错的,而且还在不断发展,但把它们用于生产程序还是需要认真考虑的。

SingleConnectionDataSource只使用一个数据库连接,所以不适合用于多线程程序。而 DriverMangerDataSource虽然能够支持多线程,但它会在每次连接请求时都新建一个连接,这是以性能为代价的。由于这些限制,我们强烈 建议应该使用数据源池。

No operations allowed after connection closed。这样的问题原因只有一个,你这里和数据库的连接Connection是一个Static的,程序共享这一个Connection。所以第一次对数据库操作没问题,当把Connection关闭后,第二次还想操作数据库时Connection肯定不存在了。

转载于:https://www.cnblogs.com/startery/p/8330701.html

你可能感兴趣的文章
图片上传
查看>>
马拉车
查看>>
PHP计算中英混输字符串长度
查看>>
java有车有房有能力最基本运用
查看>>
js创建,获取,检测cookie
查看>>
子查询:相关子查询、无关子查询
查看>>
Python-使用Magellan进行数据匹配总结
查看>>
jersey rest webservice
查看>>
java 获取指定日前的前一天
查看>>
position
查看>>
ios内存管理(转)
查看>>
Unity 屏幕外死亡的敌人的分数显示在屏幕内
查看>>
整理网上的关于 路径遍历漏洞
查看>>
H5 离线缓存的用法
查看>>
我们为什么需要Windows Workflow Foundation?(摘)
查看>>
五笔打字学习
查看>>
vector
查看>>
printf("%d\n",printf("%d",printf("%d",i)));
查看>>
最小转弯问题
查看>>
Java线程(一)
查看>>