首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Singleton和DataSource

Singleton和DataSource
EN

Stack Overflow用户
提问于 2013-01-16 16:03:30
回答 2查看 6.5K关注 0票数 6

我正在用Java开发一个web应用程序,它需要与数据库连接。良好的资源管理是非常重要的。应用程序将位于Tomcat 6 servlet容器中,我已经实现了BoneCP来管理连接(我不能使用Spring)。

我读过JNDI查找DataSource太昂贵了,我正在考虑创建一个DataSource对象的单例,只获取一次JNDI资源,并为将来的连接返回相同的DataSource。

问题:只创建一次DataSource,并从同一个DataSource获得连接是个好主意吗?--我不想得到相同的连接,只想得到相同的DataSource。

(谢谢;)

EN

回答 2

Stack Overflow用户

发布于 2013-01-16 16:09:56

使用池数据源,如下所述:

http://www.javaranch.com/journal/200601/JDBCConnectionPooling.html

票数 4
EN

Stack Overflow用户

发布于 2013-06-25 15:10:33

是的,正如Renjith所建议的,您只需要创建一次DataSource。我昨天也碰到了同样的问题。每次在我的"getConnection“方法中,我注意到我不必要地创建了一个新的InitialContext和DataSource。我修改了Connection类,使其具有一个静态代码块,它只在类第一次加载时才创建DataSource对象(在Proper usage of JDBC Connection Pool (Glassfish)中阅读BalusC的答案之后)

我考虑过使用旧的ServiceLocator模式(请参阅Pascal在上面的链接中的答案),但我觉得这对我的需求来说有点过分了。

另一种可能是,您也可以在DataSources上使用带有注入的DataSources注释,但是似乎不使用Tomcat 7

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14362605

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档