最近看到 tomcat数据源,JDBC连接的概念。以前都没有配置tomcat 数据源,直接在程序里写jdbc连接,突然看到tomcat数据源这个词,都么不着头脑了。
在网上搜了一片文章,讲两者的不同http://www.soidc.net/discuss/1/081120/00/604705_1.html。看完了还是有点迷糊。
我自己的程序都是不用tomcat数据源的,直接部署就运行了。请大家谈谈看法?
在网上搜了一片文章,讲两者的不同http://www.soidc.net/discuss/1/081120/00/604705_1.html。看完了还是有点迷糊。
我自己的程序都是不用tomcat数据源的,直接部署就运行了。请大家谈谈看法?
程序中用jini查找数据源就可以用了。这样做tomcat会建立和管理连接池,也可以设置连接数等。网上很多入门文章,其实仅仅是演示而已。真正能用于生产的系统必须考虑连接池、事务。否则一点用也没有。
1:JNDI DataSource提供了connection pool管理,提高了连接效率。
2:JNDI DataSource提供了独立connection管理。也就是解耦合逻辑层,逻辑层不需要知道connection的管理。
3:Jee server提供了方便的DataSource管理和配置,在这里是tomcat提供了DataSource管理,包括pool的配置,timeout等属性。
4:可移植性。当移植应用或者移植数据库的时候,只需要配置DataSource,代码不需要动。
这样理解吧,本地数据源相当于你自己写了一个connection的对象池,只不过你是用的第三方jar包罢了。
比如dbcp,c3p0,proxool等吧。
tomcat那个jndi数据源呢,你需要了解下j2ee的规范。简单点说。就是应用服务器上有颗树,上面挂着n多对象其中一个就是connection连接池。你既可以在本地访问,也可以远程通过Context.lookup访问。
对。毕竟lookup也是费油的
<Resource
name="jdbc/xinda"
auth="Container"
type="javax.sql.DataSource"
maxActive="10"
maxIdle="5"
maxWait="10000"
driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@10.0.150.188:1521:orcl"
username="username"
password="123456"/>