JDBC连接池是单例吗?

时间:2013-03-04 17:54:11

标签: java jdbc singleton connection-pooling

我正在学习JDBC,我目前正在研究JDBC DataSource和连接池。您是否需要确保您创建的数据源仅在应用程序中创建一次,然后与需要引用数据源的所有类共享它?或者它在幕后做了什么魔术?

如果在Java EE服务器中配置数据源,或者在Spring中是否只创建一个数据源对象?是JNDI单身中的对象,还是每次需要时都会得到新的?

1 个答案:

答案 0 :(得分:2)

DataSource个实例并不神奇。如果你创建其中两个,你将有两个,每个都有自己的连接池。使用JNDI,您可以在名称下注册对象,因此根据定义,每次都会发出相同的对象。您可以认为它或多或少是夸张的HashMap。在Spring中,singleton是默认范围,因此除非您更改bean的范围,否则将在使用它的所有内容之间创建和共享单个DataSource