海南省建设厅网站首页,东莞报告1例,凡科网网站建设,seo是什么意思广东转载自 在Tomcat配置JNDI数据源的三种方式在我过去工作的过程中,开发用服务器一般都是Tomcat#xff0c;数据源的配置往往都是在applicationContext.xml中配置一个dataSource的bean#xff0c;然后在部署时再修改JNDI配置。我猜是因为Tomcat的配置需要改配置文件#xff0…转载自 在Tomcat配置JNDI数据源的三种方式在我过去工作的过程中,开发用服务器一般都是Tomcat数据源的配置往往都是在applicationContext.xml中配置一个dataSource的bean然后在部署时再修改JNDI配置。我猜是因为Tomcat的配置需要改配置文件不像JBoss,Weblogic等服务器在管理界面可以直接添加JNDI数据源也很少人去研究它的配置。最近做了个小项目,发布版本的时候都是通过ant编译成jar包之后丢给测试测试是大爷,教他修改数据源了还是当没听到。周末闲来无聊,看了一些Tomcat配置的教程,下面做一些总结。注:如果你的工程是直接丢在webapps下面的,server.xml中就没有工程对应的Context节点更新:由于之前有些配置来自网络,不太好用,作了一些更新对每种方法作了一些个人评价PS:以下配置在apache-tomcat-6.0.35下测试通过,可以访问数据库一、JNDI数据源配置1单个应用独享数据源 就一步,找到Tomcat的server.xml找到工程的Context节点,添加一个私有数据源
Context docBaseWebApp path/WebApp reloadabletrue sourceorg.eclipse.jst.jee.server:WebApp
Resource namejdbc/mysql scopeShareable typejavax.sql.DataSource factoryorg.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory urljdbc:mysql://localhost:3306/test driverClassName com.mysql.jdbc.Driver usernameroot passwordroot
/
/Context
优点:简单
缺点:重用性差2配置全局JNDI数据源,应用到单个应用
分两步第一步, 找到Tomcat的server.xml中GlobalNamingResources节点,在节点下加一个全局数据源
Resource namejdbc/mysql scopeShareable typejavax.sql.DataSource factoryorg.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory urljdbc:mysql://localhost:3306/test driverClassName com.mysql.jdbc.Driver usernameroot passwordroot
/ 第二步,找到要应用此JNDI数据源的工程Context节点,增加对全局数据源的引用ResourceLink
Context docBaseWebApp path/WebApp reloadabletrue ResourceLink globaljdbc/mysql namejdbc/mysql typejavax.sql.DataSource /
/Context
优点:重用性,可控性
缺点:配置相对第三种方法要繁琐一点,每个工程都得配3配置全局JNDI数据源,应用到所有Tomcat下部署的应用
也分两步第一步参考2的第一步第二步,找到Tomcat的context.xml,在Context节点下加一个ResourceLink节点对第一步配置的数据源进行引用这个XML配置文件的根节点就是Context
Context ResourceLink globaljdbc/mysql namejdbc/mysql typejavax.sql.DataSource / WatchedResourceWEB-INF/web.xml/WatchedResource
Context
优点:重用性,一次性到位
缺点:没有可控性二、Spring对JNDI数据源的引用
在applicationContext.xml中加一个bean,替代原来的dataSource
jee:jndi-lookup iddataSource jndi-namejdbc/mysql / 三、C3P0数据源的配置
type和factory的值发生变化usernameuserurljdbcUrldriverClassNamedriverClass
Resource namejdbc/mysql_c3p0 scopeShareable typecom.mchange.v2.c3p0.ComboPooledDataSource factoryorg.apache.naming.factory.BeanFactory jdbcUrljdbc:mysql://localhost:3306/test driverClasscom.mysql.jdbc.Driver userroot passwordroot / 更多详细内容请参考java进阶网 www.javady.com