关于tomcat连接池今天遇到了一点问题,现在记录如下
一、配置局部数据源
局部数据源只能被定义数据源的应用程序使用。
找到Tomcat安装目录下的context.xml文件。在<Context/>节点下加入:
<Resource
name="jdbc/dateDB" 数据源名
auth="chen" 作者管理者
type="javax.sql.DataSource" 指定该资源的类型
maxActive="100" 可同时为连接池分配的活动连接实例的最大数
maxIdle="10" 连接池中可空闲的连接的最大数
maxWait="-1" 在没有可用连接时,连接池抛出异常前等待的最大毫秒数
username="" 数据库用户名
password="" 数据库用户口令
driverClassName="oracle.jdbc.driver.OracleDriver"
使用的JDBC驱动程序的数据库完整类名
url="jdbc:oracle:thin:@localhost:1521:ORAL"/>
传递给JDBC驱动程序数据库URL
注意:应将Tomcat目录conf/Catalina//localhost/相关的xml文件删除
步骤2:在java中如何调用
Context initContext = new InitialContext();
DataSource dataSource = (DataSource)initContext.lookup("java:comp/env/jdbc/dateDB ");
Connection conn = dataSource.getConnection();
步骤3:
重启Tomcat即可。
资料说还要在web.xml里加入一段代码:
<resource-ref>
<res-ref-name> jdbc/dateDB </res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>chen</res-auth>
</resource-ref>
我试了一下其实不用
也可以在项目中META-INF目录建一个context.xml文件,内容和上面一样,不过会覆盖掉tomcat中的context.xml文件。
二、配置全局数据源
全局数据源可被所有的应用程序使用,通过在tomcat安装目录/conf/server.xml的<GlobalNamingResources>元素定义的,定义后可以在任何应用程序中使用。
(1)找到Tomcat安装目录下的server.xml文件。在<GlobalNamingResources/>节点下加入:
<Resource
name="jdbc/dateDB" 数据源名
auth="chen" 作者管理者
type="javax.sql.DataSource" 指定该资源的类型
maxActive="100" 可同时为连接池分配的活动连接实例的最大数
maxIdle="10" 连接池中可空闲的连接的最大数
maxWait="-1" 在没有可用连接时,连接池抛出异常前等待的最大毫秒数
username="" 数据库用户名
password="" 数据库用户口令
driverClassName="oracle.jdbc.driver.OracleDriver"
使用的JDBC驱动程序的数据库完整类名
url="jdbc:oracle:thin:@localhost:1521:ORAL"/>
传递给JDBC驱动程序的数据库URL
这里的name属性值就是指全局数据源名称,其他的属性和局部数据源含义相同。
(2)在Web应用程序的META-INT目录中建立一个context.xml文件,内容如下
<?xml version = "1.0" encoding = "utf-8"?>
<Context reloadable = "true">
<ResourceLink
global = "jdbc/dateDB"全局资源名
name = "jdbc/myDB"指定数据源名
type = "javax.sql.DataSource"指定该资源的类型完整类名
<WatchedResource>WEB-INF/web.xml</WatchedResource>
</Context>
上面文件中的<ResourceLink>元素用来创建到全局JNDI的资源的连接
配置了完成后,需要重启tomact服务器才生效,访问方法和局部数据源访问方法相同
最后切记记得把jar包放入tomcat安装目录下的lib,不是项目的lib,如何选择jar包,就需
要了解不同版本主要是为了匹配不同的jdk版本环境,和tomcat没关系。
“ojdbc5.jar”,适用于jdk5.0。
“ojdbc6.jar”, 适用于jdk6.0。
“ojdbc14.jar”,适用于 JDK 1.4 and 5.0。
备注:jdk高版本的话,可以用”ojdbc6.jar“即可.(建议)
关注公众号,每天推送写遇到的技术性问题