怎么把种子解码:各种连接池的比较

来源:百度文库 编辑:偶看新闻 时间:2024/03/28 16:35:53

各种连接池的比较

 

  • hibernate开发组推荐使用c3p0;
  • spring开发组推荐使用dbcp(dbcp连接池有weblogic连接池同样的问题,就是强行关闭连接或数据库重启后,无法reconnect ,告诉连接被重置,这个设置可以解决);
  • hibernate in action推荐使用c3p0和proxool;

dbcp的配置




 
SELECT 1


true

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

c3p0的配置, 注意是‘‘driverClass‘ , ‘jdbcUrl‘, ‘user‘ , ‘password‘

  class="com.mchange.v2.c3p0.ComboPooledDataSource"
  destroy-method="close">
  
   oracle.jdbc.driver.OracleDriver
  

  
   jdbc:oracle:thin:@218.202.151.179:58580:ORA9I
  

  
   oa
  

  
   XXXX
  

  
   15
  

  
   5
  

  
   25
  

        destroy-method="close">
       
            ${db.driverClass}
       

       
            ${db.url}
       

        
       
           
                5
                100
                100
                0
                10
                ${db.user}
                ${db.pass}
           

       

 

       
           
                org.hsqldb.jdbcDriver 
                             jdbc:hsqldb:hsql://localhost/gpcswebdb
                sa
               
                5
                20
                1800
                50

                org.hibernate.dialect.HSQLDialect

                false
                true

                update

                0
                true
                1
                true
           

       

       
           
                com/citi/rpc/webentity/BusinessDay.hbm.xml
                com/citi/rpc/webentity/Duty.hbm.xml
                com/citi/rpc/webentity/Employee.hbm.xml
                com/citi/rpc/webentity/TeamMember.hbm.xml
                com/citi/rpc/webentity/Project.hbm.xml
           

       

   

---------------------------------------
xapool的配置
 
   
     
        com.mysql.jdbc.Driver
        jdbc:mysql://localhost/dbname
     

   

    root
    mypass
    1
    5
    select 1
 

--------------------------------------
c-jdbc的配置

    jdbc:cjdbc://127.0.0.1:25322/vdb?user=vuser

weblogic的连接池解决办法:Test Reserved Connections: 如果选择了这个选项,服务器会在把连接提供给客户端之前
对其进行测试。 Test Created Connections: 如果选择了这个选项,就会在创建一个JDBC
连接之后和在把它添加到JDBC连接池中的可用连接列表之前,对该JDBC连接进行测试。

tomcat的jndi关于dbcp的配置:

       
         factory
         org.apache.commons.dbcp.BasicDataSourceFactory
      

      
         driverClassName
         com.sybase.jdbc2.jdbc.SybDriver
      

      
         url
         xyz
      

      
         username
         xyz
      

      
         password
         xyz
      

      
         maxActive
         5
      

      
         maxIdle
         5
      

      
         maxWait
         -1
      

      
         removeAbandoned
         true
      

      
         validationQuery
         select count(*) from sometable where 1 = 0
      

      
         testOnBorrow
         true
      

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

很多人都说proxool很好 —— 强烈推荐proxool,因为他不但可以监控后台。还可以有效的释放连接。在connection close时,也就是归还connection,
关闭所有的statement,并且判断是否autocommit,如果不行,就rollback,并且设置true,
可以参考proxool的org.logicalcobwebs.proxool.ConnectionResetter类
connection pool把connection reset置回initial state。

但是在网上搜索spring中配置proxool作为数据源连接池的资料却几乎找不到详细点的。So自己整理如下:

  web.xml
-------------------------
 
    proxoolServletConfigurator
    org.logicalcobwebs.proxool.configuration.ServletConfigurator
   
      xmlFile
      WEB-INF/proxool.xml
   

    1
 

 
    proxooladmin
    org.logicalcobwebs.proxool.admin.servlet.AdminServlet
 

 
    proxooladmin
    /proxooladmin
 

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

  proxool.xml
-------------------------


 
    blogdb
    jdbc:oracle:thin:@127.0.0.1:1521:ORADB
    oracle.jdbc.driver.OracleDriver
   
     
     
   

    10
    select 1 from dual
 


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

spring里的两种配置:
one: 
   
   
    org.logicalcobwebs.proxool.ProxoolDriver
   

   
    proxool.blogdb
   

   


two:
 
   
      oracle.jdbc.driver.OracleDriver
   

   
      jdbc:oracle:thin:lizongbo/password@127.0.0.1:1521:ORADB    
 
   

   
      lizongbo
   

   
      lizongbo
   

   
      lizongbo
   

   
      90000
   

   
      5
   

   
      100
   

   
      10
   

   
      true
   

   
      true