tomcat数据源配置

来源:互联网 发布:三星usb网络共享驱动 编辑:程序博客网 时间:2024/04/28 18:46

关于数据源

 

实际上J2EE的数据源就是对连接池的一个封装。把数据库连接池发布为JNDI资源,就可以像访问其他的JNDI资源一样,通过JNDI名字来方便的获取容器管理的资源,只不过这次返回的是一个特定类型的资源Connection实例。

 

 

关于连接池

 

在程序开发的时候,经常接触到一个核心的概念就是池(Pool)。什么是池呢,从字面上理解就是一个大的盛水的容器,把水放入池中,以后就可以随取随用,也就不用每次喝水都去河里或者井里挑水了。哈哈,比喻的还算形象吧。程序开发中的Pool的作用和水池非常相似,用一句话概括就是:把一些需要耗费很大的代价(cost)来获取的,常用的资源,用Pool的方式来统一管理,这就是池。

 

常用的池有 对象池 线程池 数据库连接池等等。

 

 

 

关于数据库连接池

 

数据库连接池是需要托管的,一般来说,连接池是由APP SERVER来创建和维护的,只要在服务器中配置好连接池的属性,连接池的创建、维护,数据源的维护,都是APP SERVER的事情,任何APP SERVER中的对象,都可以通过数据源来访问连接池中的数据库连接对象(Connection实例)。

 

 

tomcat数据源配置

 

数据源也是一种JNDI资源,可以在服务器的全局资源中添加一个数据源

 

(一)在server.xml的<GlobalNamingResources>节点下增加一个新的资源

location: $(CATALINA_HOME)/conf/server.xml

 

<GlobalNamingResources>

 

<Resource name="jdbc/mysql" auth="Container"

                                     type="javax.sql.DataSource"
                                     maxActive="100" maxIdle="30" maxWait="10000"
                                     username="root" 

                                     password="962500"     

                                     driverClassName="com.mysql.jdbc.Driver"

                                     url="jdbc:mysql://localhost:3306/emr?autoReconnect=true"/>

</GlobalNamingResources>

 

 

(二)因为注册的是一个全局资源,哪个应用需要访问这个资源,都需要在应用的描述文件中标注一下

 

location:$(CATALINA_HOME)/conf/Catalina/localhost/***.xml

 

<Context path="/emr" 

                  docBase="C:/Documentsand Settings/suntao/workspace/Emr_web/webContent">
    <ResourceLink name="jdbc/mysql" global="jdbc/mysql" type="javax.sql.DataSource"/>

</Context>

 

 

这样,在应用里就可以很方便的通过数据源注册的JNDI名字来获取数据库连接了。

 

 

原创粉丝点击