tomcat下context.xml中JNDI数据源配置

时间:2021-10-18 22:45:38

jndi(Java Naming and Directory Interface,Java命名和目录接口)是一组在Java应用中访问命名和目录服务的API。命名服务将名称和对象联系起来,使得我们可以用名称 访问对象。目录服务是一种命名服务,在这种服务里,对象不但有名称,还有属性。

在tomcat下配置如下:

<Resource name="jdbc/bsrckDataSource"
auth="Container"
type="javax.sql.DataSource"
driverClassName="oracle.jdbc.OracleDriver"
url="jdbc:oracle:thin:@192.168.100.2:1521:orcl"
username="bsrck"
password="bsrck"
maxActive="10"
maxIdle="5"
maxWait="10000"/>

其中,各个属性值意义可参如下设置:

name:表示你的连接池的名称也就是你要访问连接池的地址

auth:是连接池管理权属性,Container表示容器管理

type:是对象的类型

driverClassName:是数据库驱动的名称

url:是数据库的地址

username:是登陆数据库的用户名

password:是登陆数据库的密码

MaxActive,连接池的最大数据库连接数。设为0表示无限制。

maxIdle,最大空闲数,数据库连接的最大空闲时间。超过空闲时间,数据库连接将被标记为不可用,然后被释放。设为0表示无限制。

maxWait ,最大建立连接等待时间。如果超过此时间将接到异常。设为-1表示无限制。

*maxActive:最大连接数据库连接数,设 0 为没有限制
*maxIdle:最大等待连接中的数量,设 0 为没有限制
*maxWait:最大等待毫秒数, 单位为 ms, 超过时间会出错误信息

一般把maxActive设置成可能的并发量就行了

maxActive、maxIdle和maxWait参数:

maxActive是最大激活连接数,这里取值为20,表示同时最多有20个数据库连接。

maxIdle是最大的空闲连接数,这里取值为20,表示即使没有数据库连接时依然可以保持20空闲的连接,而不被清除,随时处于待命状态。

MaxWait是最大等待秒钟数,这里取值-1,表示无限等待,直到超时为止,也可取值9000,表示9秒后超时。

建议将开发环境下的tomcat按如下设置,以避免造成数据库过多session,造成连接失败情况。

maxActive="10"
maxIdle="5"
maxWait="180000"