dbcp的连接池!org.apache.commons.dbcp.BasicDataSourceFactory这句是恒要写吗?

nil2000 2007-12-28 03:26:24
<Resource name="jdbc/DB" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/DB">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>password</name>
<value>password</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:microsoft:sqlserver://xxx.xxx.xxx.xxx:1433;DatabaseName=DatabaseName</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
</parameter>
<parameter>
<name>username</name>
<value>username</value>
</parameter>






dbcp的连接池!org.apache.commons.dbcp.BasicDataSourceFactory下面这句是恒要写吗?


<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>

是什么概念啊?
...全文
662 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
yibangzhenqing 2009-12-18
  • 打赏
  • 举报
回复
DataSource和ObjectFactory是sun定义的数据连接池标准的接口,ObjectFactory负责从你的配置文件里面读取url、driverClassName、password之类的信息来创建一个数据源。它们都只是接口,具体要怎么实现取决于web容器或者其它提供数据源服务的程序。tomcat中实现DataSource接口的类是org.apache.commons.dbcp.BasicDataSource,实现ObjectFactory接口的是org.apache.commons.dbcp.BasicDataSourceFactory类,它里面有一个createDataSource(Properties p)通过p从你的配置XML文件中创建一个数据源。这些创建数据源的类都在lib\tomcat-dbcp.jar文件里面,你用winrar打开就可以看到这个class文件

标准要求你可以通过factory参数指定数据源的包装程序,比如你自己开发了一系列的程序实现了标准,扩展上面的ObjectFactory接口的类叫做org.yours.DSFactory,那你就可以设置成
<parameter>
<name> factory </name>
<value>org.yours.DSFactory</value>
</parameter>
Tomcat会用你的程序创建数据源,如果不指定的话tomcat只有接口没有实现类怎么创建数据源
xiejia1919 2008-01-03
  • 打赏
  • 举报
回复
是必须得写的
老紫竹 2008-01-03
  • 打赏
  • 举报
回复
y,也许Tomcat默认用这个,不过我们没有必要在这种地方犹豫,写上就对了!

nil2000 2008-01-03
  • 打赏
  • 举报
回复
那就是必须要写了?
goodmrning 2008-01-03
  • 打赏
  • 举报
回复
学习,关注中
帮楼主顶下!!!!!!!!!!!!
thinkpdm 2008-01-03
  • 打赏
  • 举报
回复
不写是不能运行的!
老紫竹 2008-01-02
  • 打赏
  • 举报
回复
既然使用了 DataSource, 那就必须得指定一个 DataSource的实现

DBCP 是 apache 的一个实现而已。如果你用其它的 DataSource, 可以换他们的。
薛定谔之死猫 2008-01-02
  • 打赏
  • 举报
回复
学习,关注
csrcom 2008-01-02
  • 打赏
  • 举报
回复
这个是jndi 工厂模式。
这儿的resource被定义成是一个jndi 的一个资源,必须通过ObjectFactory 来获得一个对象实例,返回对象类型是 javax.sql.DataSource。

而org.apache.commons.dbcp.BasicDataSourceFactory是实现ObjectFactory接口的并且返回类型是 javax.sql.DataSource的objectfactory。

上面的参数 都是为 org.apache.commons.dbcp.BasicDataSourceFactory 服务的。

总的来说就是jndi规范。

程序员大致了解就可以了

gameboy911 2007-12-28
  • 打赏
  • 举报
回复
既然不写会报错,那就写着吧,我也不懂。
nil2000 2007-12-28
  • 打赏
  • 举报
回复
555555555555555555
gameboy911 2007-12-28
  • 打赏
  • 举报
回复
up
nil2000 2007-12-28
  • 打赏
  • 举报
回复
dbcp的连接池!org.apache.commons.dbcp.BasicDataSourceFactory下面这句是恒要写吗?


<parameter>
<name> factory </name>
<value> org.apache.commons.dbcp.BasicDataSourceFactory </value>
</parameter>

这句是什么意思啊 ?

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧