(今日问题)连接池与数据源

来源:互联网 发布:淘宝客服售后话术技巧 编辑:程序博客网 时间:2024/06/05 10:15



关于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();

DataSourcedataSource = (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“即可.(建议)


如果jar包不对就会有java.lang.AbstractMethodError错误,这个时候不要想其他的,先去lib下看jar包版本对不对。

最后如果还有错的记得拼写了,我就拼写错了几次,郁闷得,所以一定要细心

关注公众号,每天推送写遇到的技术性问题



 


1 0
原创粉丝点击