欢迎访问 生活随笔!

ag凯发k8国际

当前位置: ag凯发k8国际 > 编程语言 > java >内容正文

java

java配置jndi连接数-ag凯发k8国际

发布时间:2024/9/27 java 32 豆豆
ag凯发k8国际 收集整理的这篇文章主要介绍了 java配置jndi连接数_javaweb:tomcat下配置数据源(jndi)连接数据库 | 学步园 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

习惯了以硬编码的形式在程序中建立数据库连接,用完就在finally语句块中close一下就结束了。对于重视数据库连接数的应用来说,这样子做会耗费大量的时间和数据库资源,而且硬编码的形式也不甚灵活。

在tomcat这个java web容器下通过配置datasource(数据源)对象可以解决上面所述的问题。jdbc中的javx.sql.datasource接口负责建立于数据库的连接,程序中直接从数据源中获取数据库连接。datasource对象由servlet容器tomcat进行管理,其实获取数据库连接是从连接池中选取空闲连接。它基于java中的jndi(java 命名与目录接口)来实现。

配置数据源context.xml:

在java web应用的meta-inf目录下新建一个context.xml配置文件,其中的元素用于定义jndi资源,内容如下:

name="jdbc/ dbname "

auth="container"

type="javax.sql.datasource"

maxactive="100" maxidle="30" maxwait="10000"

username="root" password="123"

driverclassname="com.mysql.jdbc.driver"

url="jdbc:mysql://localhost:3306/ dbname?autoreconnect=true"

/>

元素的属性说明:

name:指定resource资源的jndi名称;

auth:可选填container或application,指定resource的管理者;

type:指定resource资源的java类名;

maxactive:设置数据库连接池中活动状态连接的最大数目,为0则不受限制;

maxidle:设置数据库连接池中空闲状态连接的最大数目,为0则不受限制;

maxwait:设置数据库连接池中空闲状态连接的最长等待时间,超时则抛出异常,为-1则可无限等待;

username:指定数据库的用户名;

password:指定连接数据库的密码;

driverclassname:指定数据库的jdbc驱动器的driver实现类名字(这里为mysql数据库连接);

url:连接数据库的url。

注:可在/conf/server.xml 文件中的对应元素中如上配置子元素以供tomcat容器内的多个web应用使用。

配置jndi资源引用web.xml:

java web应用中要使用jndi资源,必须在web.xml中配置对该jndi资源的引用元素。内容如下:

db connection

jdbc/dbname 

javax.sql.datasource

container

元素的子元素说明:

description:对所引用jndi资源的描述;

res-ref-name:引用的jndi资源的名称,与上面元素中的name属性一致;

res-type:引用的jndi资源的类名称,与上面元素中的type属性一致;

res-auth:引用资源的管理者,上面元素中的auth属性一致;

web应用中使用数据源:

使用datasource连接数据库,不再用以下方式来建立到数据库的连接了。

connection conn = null;

class.forname("com.mysql.jdbc.driver");

string dburl = "jdbc:mysql://localhost:3306/dbname";

string dbuser = "root";

string dbpwd = "123";

conn = drivermanager.getconnection(dburl, dbuser, dbpwd);

而是使用相对简单些的jndi资源访问方式lookup方法,如下:

context sourcectx = new initialcontext();

datasource ds =

(datasource) sourcectx.lookup("java:comp/env/jdbc/ dbname ");

conn = ds.getconnection();

注:使用datasource方式连接数据库,当使用完数据库操作之后调用各种资源对象的close方法时,由tomcat容器调回这些连接到连接池中进行管理,而不是直接与数据库断开连接。

总结

以上是ag凯发k8国际为你收集整理的java配置jndi连接数_javaweb:tomcat下配置数据源(jndi)连接数据库 | 学步园的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得ag凯发k8国际网站内容还不错,欢迎将ag凯发k8国际推荐给好友。

  • 上一篇:
  • 下一篇:
网站地图