[急]tomcat6.0设置装备摆设SQLServer2000数据库毗连池?

51分钟前阅读1回复0
dyyh
dyyh
  • 管理员
  • 注册排名7
  • 经验值116255
  • 级别管理员
  • 主题23251
  • 回复0
楼主

  Server 20002。 数据库驱动法式: urceforge。jtds。jdbc。DriverJNDI(Java Naming and Directory Interface)概述:Tomcat4(5)供给了一个与Java Enterprise Edition利用办事相兼容的JNDI--InitialContext实现实例。

  它的初始数据设置在$CATALINA_HOME/conf/server。xml文件里,并可能在网页利用情况描述(/WEB-INF/web。xml)里被下列元素引用:1) --情况进口,设置利用法式若何操做。2) --资本参数,一般是数据库驱动法式、JavaMail Session、自定义类工场等。

  3) --在Servlet 2。4里用来简化设置不需认证信息的资本资本如情况参数、resource-ref变量。InitialContext在网页利用法式初始化时被设置,用来撑持网页利用法式组件。所有的进口和资本都放在JNDI定名空间里的java:comp/env段里。

  点击下列网址以获取更多信息:1) Java定名和目次接口(Java Naming and Directory Interface)2) J2EE平台阐明(J2EE Platform Specification)设置JNDI资本设置JNDI资本要在$CATALINA_HOME/conf/server。

  xml文件里利用下列标记符:1) --设置域个可变的JNDI InitialContext进口的名字和值(同上面说的等价)。2) --设置利用法式可用的资本的名字和类型(同上面说的等价)。3) --设置Java资本类工场的名称或将用的JavaBean属性。

  4) --给全局JNDI情况(JNDI Context)添加一个链接。上述那些标记符必需放在和之间(针对专门的网页利用法式)或和之间。此外,设在网页利用情况描述(Web Application Descriptor)(/WEB-INF/web。

  xml)里的名字和值也在初始情况(Initial Context)里被设置,当被元素值容许时将被重设初始值。全局变量能在子元素的里设置。数据库毗连池概述:数据库毗连是一种关键的有限的高贵的资本,那一点在多用户的网页利用法式中表现得尤为凸起。对数据库毗连的治理能显著影响到整个利用法式的伸缩性和强健性,影响到法式的性能目标。

  数据库毗连池恰是针对那个问题提出来的。数据库毗连池负责分配、治理和释放数据库毗连,它容许利用法式反复利用一个现有的数据库毗连,而再不是从头成立一个;释放闲暇时间超越更大闲暇时间的数据库毗连来制止因为没有释放数据库毗连而引起的数据库毗连遗漏。那项手艺能明显进步对数据库操做的性能。

  数据库毗连池在初始化时将创建必然数量的数据库毗连放到毗连池中,那些数据库毗连的数量是由最小数据库毗连数来设定的。无论那些数据库毗连能否被利用,毗连池都将不断包管至少拥有那么多的毗连数量。毗连池的更大数据库毗连数量限制了那个毗连池能占有的更大毗连数,当利用法式向毗连池恳求的毗连数超越更大毗连数量时,那些恳求将被加进到期待队列中。

  数据库毗连池的最小毗连数和更大毗连数的设置要考虑到下列几个因素:1) 最小毗连数是毗连池不断连结的数据库毗连,所以假设利用法式对数据库毗连的利用量不大,将会有大量的数据库毗连资本被浪费;2) 更大毗连数是毗连池能申请的更大毗连数,假设数据库毗连恳求超越此数,后面的数据库毗连恳求将被加进到期待队列中,那会影响之后的数据库操做。

  3) 假设最小毗连数与更大毗连数相差太大,那么更先的毗连恳求将会获利,之后超越最小毗连数量的毗连恳求等价于成立一个新的数据库毗连。不外,那些大于最小毗连数的数据库毗连在利用完不会立即被释放,它将被放到毗连池中期待反复利用或是闲暇超时后被释放。

  设置装备摆设Tomcat数据库毗连池的前提:1。 必需拆有Java运行情况;2。 必需有SQL Server2000数据库办事器(能够不在当地);3。 必需有jtds。jar,并将它放在$CATALINA_HOME/common/lib目次下(只能是那里)。

  利用它是因为Microsoft公司的Java SQL Server驱动法式不撑持二次查询,可到网上搜到。目前利用的是jtds-1。1。jar。在$CATALINA_HOME/conf/server。xml里设置数据库毗连池:下面是设置装备摆设的代码,必需放在和之间。

  maxActive100maxIdle30maxWait10000removeAbandonedtrueremoveAbandonedTimeout60logAbandonedfalsefactory mons。dbcp。BasicDataSourceFactoryusernameIorishinierpasswordmypasswddriverClassName urceforge。

  jtds。jdbc。Driverurljdbc:jtds:SQLserver:// 下面是一些参数的阐明:此中:1) path指定途径,那里设定的是$CATALINA_HOME/webapps下的quality目次;2) docBase 文件根目次。

  3) reloader当网页被更新时能否从头编译。4) maxActive 毗连池的更大数据库毗连数。设为0表达无限造。5) maxIdle数据库毗连的更大闲暇时间。超越此闲暇时间,数据库毗连将被标识表记标帜为不成用,然后被释放。设为0表达无限造。6) maxWait 更大成立毗连期待时间。

  假设超越此时间将接到反常。设为-1表达无限造。7) removeAbandoned 收受接管被放弃的(一般是忘了释放的)数据库毗连到毗连池中。8) removeAbandonedTimeout 数据库毗连过多长时间不消将被视为被放弃而收回毗连池中。

  9) logAbandoned 将被放弃的数据库毗连的收受接管记进日记。10) driverClassName JDBC驱动法式。11) url数据库毗连字符串在$CATALINA_HOME/webapps/quality/WEB-INF/web。

  xml里设置被引用的资本:下面是设置装备摆设代码,必需放在和里。connectDB testjdbc/connectDBjavax。sql。DataSourceContainer下面是一下参数的需要阐明:1) description对被引用的资本的描述。

  2) res-ref-name资本名称。见上面的3) res-type资本类型。见上面的在JSP中利用资本:那是在$CATALINA_HOME/webapps/quality下的某级子目次里的jsp网页文件部门代码:代码阐明:DataSource ds=(DataSource)ctx。

  lookup("java:comp/env/jdbc/connectDB");上面那句利用了适才设的资本。资本利用完要释放,出格是Context资本,见try-catch-finally部门的finally代码段,那是一种好的习惯。资本释放时假设释放了上级资本,下级资本将先被释放。

  如:释放了ctx,那么资本释放挨次将是rs,stmt,cnn,ctx。换句话说,假设释放了ctx,那么rs,stmt和cnn都将不成用了。那里的释放资本只是将数据库毗连返回毗连池中,并非把资本实正释放掉,见数据库毗连池概述。 。

0
回帖

[急]tomcat6.0设置装备摆设SQLServer2000数据库毗连池? 期待您的回复!

取消