连接池中Tomcat的几个参数~

下面三个是什么含义maxActive="100" maxIdle="50" maxWait="10000"
2025-03-22 17:51:43
推荐回答(3个)
回答1:

  至少9个。
dataSource: 要连接的 datasource (通常我们不会定义在 server.xml)
defaultAutoCommit: 对于事务是否 autoCommit, 默认值为 true
defaultReadOnly: 对于数据库是否只能读取, 默认值为 false
driverClassName:连接数据库所用的 JDBC Driver Class,
maxActive: 可以从对象池中取出的对象最大个数,为0则表示没有限制,默认为8
maxIdle: 最大等待连接中的数量,设 0 为没有限制 (对象池中对象最大个数)
minIdle:对象池中对象最小个数
maxWait: 最大等待秒数, 单位为 ms, 超过时间会丢出错误信息,-1为无限制
password: 登陆数据库所用的密码

  Tomcat7.0配置连接池的步骤:
  第一步:在Tomcat的配置文件Tomcat7.0\conf\context.xml中添加信息:
  
    name="jdbc/drp"
  type="javax.sql.DataSource"
  driverClassName="oracle.jdbc.driver.OracleDriver"
  maxIdle="2"
  maxWait="5000"
  username="drp"
  password="drp"
  url="jdbc:oracle:thin:@localhost:1521:bjpowernode"
  maxActive="4"/>
  

  第二步:把配置文件context.xml剪切到webRoot/META-INF中。(若是只有一个项目使用连接池的话,则剪切到使用连接池项目webRoot/META-INF中。若是多个项目都使用连接池,则不进行操作第二步。)
  第三步:则在程序中获得连接:
  //new DBcP pool
  Context ctx=new InitialContext();
  //通过JNDI查找DataSource
  DataSource ds=(DataSource)ctx.lookup("java:comp/env/jdbc/drp");
  conn=ds.getConnection();
  其中第一步中的上下文context.xml中的参数的解析如下:
  其中的name属性是数据源名称,通常采取jdbc/**.
  type属性是数据源方式。
  driverClassName属性是驱动程序名称。(此文中是oracle驱动程序)
  username,password,数据库名称和密码
  url:访问的数据库路径。其中url的内容组成解析上篇博客中已经分析——Oracle安装以及测试Oracle数据库
  maxActive属性是并发连接的最大数。设置为0则无限制。
  maxWait属性是等待连接的最大连接的时间。
  maxIdle属性是连接池中空闲的连接的个数。
  上文中的设置的 maxActive="4"说明可以最大连接的个数为4个,再建立连接,则出现异常。
  而maxIdle="2"说明当关闭数据库时(不是真正的断开连接,而是归还连接池中)连接池中最大可以有空闲的连接数为2个。
  若是再有建立连接,此时若连接池中没有空闲的连接,但是又没有达到maxActive并发的最大连接数,则在连接池中建立连接。
  
  ps:有些教材Tomcat配置连接池,需要在Tomcat/lib中加入驱动包ojbc14.jar.但是自己在Tomcat7.0下配置连接池时,没有加入驱动jar包依然运行正常。

回答2:

maxActive最大连接数
maxWait最大等待事件
maxIdle最大闲置数

回答3:

maxIdle,最大空闲数,数据库连接的最大空闲时间。超过空闲时间,数据库连
接将被标记为不可用,然后被释放。设为0表示无限制。
MaxActive,连接池的最大数据库连接数。设为0表示无限制。
maxWait ,最大建立连接等待时间。如果超过此时间将接到异常。设为-1表示
无限制。
maxActive这里取值为100,表示同时最多有100个数据库连接。
maxIdle这里取值为5,表示即使没有数据库连接时依然可以保持50个空闲的连接,而不被清除,随时处于待命状态。
MaxWait是最大等待秒钟数,取值10000,表示10000秒后超时。