Topic: 实现javax.sql.DataSource 接口的类是不是都已经池化过了?谢谢 |
Print this page |
1.实现javax.sql.DataSource 接口的类是不是都已经池化过了?谢谢 | Copy to clipboard |
Posted by: eagle Posted on: 2005-08-07 16:24 下面摘自JDK1。4。1 API: The DataSource interface is implemented by a driver vendor. There are three types of implementations: Basic implementation -- produces a standard Connection object Connection pooling implementation -- produces a Connection object that will automatically participate in connection pooling. This implementation works with a middle-tier connection pooling manager. Distributed transaction implementation -- produces a Connection object that may be used for distributed transactions and almost always participates in connection pooling. This implementation works with a middle-tier transaction manager and almost always with a connection pooling manager. 不知道是不是所有实现DataSource 的类都已经池化。还是有些池化,请大家指导,谢谢! |
2.Re:实现javax.sql.DataSource 接口的类是不是都已经池化过了?谢谢 [Re: eagle] | Copy to clipboard |
Posted by: menzy Posted on: 2005-08-07 16:30 看不懂吗? 是否池化取决于其实现者。 |
3.Re:实现javax.sql.DataSource 接口的类是不是都已经池化过了?谢谢 [Re: eagle] | Copy to clipboard |
Posted by: eagle Posted on: 2005-08-08 09:14 就是说不是所有的driver vendor都池化了DataSource 的实现类?那我怎么去知道哪个实现了池化哪个没有呢?现在在各个服务器上都支持DataSource,我如果想换服务器还要去区分哪些是池化过的DataSource 的实现类,哪些是没有池化过的吗?谢谢menzy上面的回答,如果清楚我的意思,请您再给我指导一下,谢谢! |
4.Re:实现javax.sql.DataSource 接口的类是不是都已经池化过了?谢谢 [Re: eagle] | Copy to clipboard |
Posted by: bluepure Posted on: 2005-08-08 11:13 不是,在jdbc3以前的几乎没什么进行过池化的. 最简单好用的池化过的数据源是 org.apache.commons.dbcp.BasicDataSource 据我所知, Postgresql 数据库的jdbc驱动,在实现了jdbc3的版本里, 有自带的支持连接池的数据源. org.postgresql.jdbc3.Jdbc3PoolingDataSource 最方便可靠的做法就是通过 org.apache.commons.dbcp.BasicDataSource来实现支持连接池的数据源,而不用依赖于某一个具体的数据库驱动. 当然其它的连接池还有 C3PO 等等 |
5.Re:实现javax.sql.DataSource 接口的类是不是都已经池化过了?谢谢 [Re: eagle] | Copy to clipboard |
Posted by: eagle Posted on: 2005-08-10 17:59 感谢bluepure的回答!再次请问bluepure,您的意思是说driver vendor提供的DataSource 的实现类是否池化是与JDBC版本有关吗?DataSource 和JDBC有什么必然的联系吗?谢谢! 我的初衷是这样的,我写了些代码用到了DataSource ,但是我希望我的代码能适应不同driver vendor提供的DataSource。现在的问题是我无法区分哪些已经池化过哪些没有,也就不知道哪些要自己用代码池化。我相信大家一定有人写过这样的代码,请问你们是怎么处理这样的问题的呢?谢谢! |
6.Re:实现javax.sql.DataSource 接口的类是不是都已经池化过了?谢谢 [Re: eagle] | Copy to clipboard |
Posted by: menzy Posted on: 2005-08-11 16:21 其实连接池应当从设计角度看成一种优化策略,对于jdbc2以前的版本,没有提供相应的实现借口,但是从理论上说你可以做自己的连接池。 jdbc 2以后就可以找到连接池的具体实现了,似乎记得当初看jdbc 2 ext 的文档,后面就附有一个具体的连接池实现源码。当然你也可以参考别的实现。 考虑直接采用通过的工具实现数据源池化是一个思路,但你不知道对方的实现版本,只能通过配置设置使用通过池化数据源例如bluepure 的 dbcp, 或者使用vender specific的数据源。 |
7.Re:实现javax.sql.DataSource 接口的类是不是都已经池化过了?谢谢 [Re: eagle] | Copy to clipboard |
Posted by: eagle Posted on: 2005-08-12 15:31 感谢menzy和bluepure 的回答,我虽然没有完全弄清楚如何去判断driver vendor提供的DataSource 的实现类是否池化,但是我在你们的回答中觉得这个和JDBC有很些关系,我先去读写JDBC文档,谢谢大家! |
Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1 客服电话 18559299278 客服信箱 714923@qq.com 客服QQ 714923 |