Chinaunix

标题: 连接池问题 [打印本页]

作者: zoukunhong    时间: 2005-12-02 16:02
标题: 连接池问题
在tomcat4.1.27中配置mysql的连接池,在namePool.jocl中如何配置,它与在server.xml中配置dataresource有何不同?
作者: Fan.Wu    时间: 2005-12-02 16:20
不过在Tomcat不是很好配
在Jboss下比较好配!
作者: zoukunhong    时间: 2005-12-02 16:44
标题: 在jocl中如何配置?
在jocl中如何配置呢?他们有什么不同吗?连接池的名字呢?
我在Poolname.jocl中的配置:
<object class="org.apache.commons.dbcp.PoolableConnectionFactory" xmlns="http://apache.org/xml/xmlns/jakarta/commons/jocl">
   <object class="org.gjt.mm.mysql.Driver">
      <string value="jdbc:mysql://192.0.2.166:3306/xgn?autoReconnect=true&user=root&password=root&useUnicode=true&characterEncoding=GB2312"/> <!-- CHANGE ME TO THE CONNECT STRING FOR YOUR DRIVER -->
      <object class="java.util.Properties" null="true">
        <string value="user=root;password=root"/>
      </object>
   </object>
   <!-- the next argument is the ObjectPool -->
   <object class="org.apache.commons.pool.impl.GenericObjectPool">
      <object class="org.apache.commons.pool.PoolableObjectFactory" null="true"/>
      <int value="30"/> <!-- max active -->
      <byte value="2"/> <!-- when exhausted action, 0 = fail, 1 = block, 2 = grow -->
      <long value="2000"/> <!-- max wait -->
      <int value="4"/> <!-- max idle -->
      <boolean value="false"/> <!-- test on borrow -->
      <boolean value="false"/> <!-- test on return -->
      <long value="10000"/> <!-- time between eviction runs -->
      <int value="5"/> <!-- number of connections to test per eviction run -->
      <long value="5000"/> <!-- min evictable idle time -->
      <boolean value="true"/> <!-- test while idle -->
   </object>

  
   <object class="org.apache.commons.pool.KeyedObjectPoolFactory" null="true"/>


   <string null="true"/>
   <!-- The default "read only" value for Connections. -->
   <boolean value="false"/>
   <!-- The default "auto commit" value for Connections. -->
   <boolean value="true"/>
</object>
作者: Fan.Wu    时间: 2005-12-02 17:24
何何 我还真不知道也!~~~

在Tomcat,我都没配成过!
作者: ipaddr    时间: 2005-12-02 21:36
Tomcat中数据库连接池的配置
Tomcat的配置真麻烦,手工操作的话,不但容易出错,而且,输入的内容还挺多,此外,有的配置选项和格式,我个人认为太冗余了。
在Tomcat下配置数据源连接池,按书本上的操作不成功,在网上找资料找了很多,还是不成功,一般是提示URL为null,或Class为null。

Tomcat的官方文档上的方法也行不通,估计是最新版(5.0.2的Tomcat连接池配置有些变化。
最后,经过摸索,终于配置成功,共享一下。
(ipaddr,bcomcn笔记,转载请注明)
使用Tomcat自动的管理工具(提示:根据多次配置经验,建议大家以后配置Tomcat最好是用自带的管理工具/admin)
a.登录管理界面:http://localhost/admin (或其它形式的地址http://ip:8080/admin)
b.左边的菜单栏时有Tomcat Server,Resources,User Definition.(//注意,不是在Resource里配置数据源,这里配置的是全局的数据源)
c.进入Tomcat Server->Service(Catalina)->Host(一般是loalhost)->Context(/ipaddr),找到具体要配置数据源的context[点左边的树形节

点打开子树,不是直接点节点名称]。
d.打开Context(/ipaddr)[这里是你需要配置数据源的Context,比如Contet(/test)][点左边的树形节点打开子树,不是直接点节点名称]
e.再打开Resources->Data Sources,这里就是针对某个具体Context的DataSource了,点击这里的DataSources,在右边的下拉菜单中选择

Create New Data Source.
f.输入相应的JNDI的名字(一般是jdbc/dbname),URL,驱动(mysql是com.mysql.jdbc.Driver),UserName,UserPassword,以及连接数,点下面的保

存(Save),再点上面的(Comit Changes)。退出管理,你就可以使用数据源了。(一般不需要重启tomcat)
g.测试
Context ctx=new InitialContext();
DataSource ds=(DataSource)ctx.lookup("java:comp/env/jdbc/ipaddr";
Connection con=ds.getConnection();
Statement stmt=con.createStatement();
....
经研究发现:Tomcat自带的管理工具配置连接池,只在是TOMCAT_HOME/conf/Catalina/hostname/contextn.xml里做了些修改。这里的配置文件的功能说明,参考我写的另外一篇笔记,“Tomcat的配置文件”
欢迎大家讨论和反映问题.
作者: zoukunhong    时间: 2005-12-20 13:51
标题: mysql 八小时问题.
好象mysql数据库八小时不访问,就不能连接了.
我的连接池使用一段时间以后,就无法访问数据库,应该修改什么地方?
我按照二楼所示配置的server.xml.




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2