TOMCAT里面配置JNDI,这个连接池是不是最基本的数据库连接池?应该不是DBCP吧。<Resource name="jdbc/bbs"         
              auth="Container" type="javax.sql.DataSource"   
              driverClassName="com.mysql.jdbc.Driver"   
              maxIdle="20"   
              maxWait="5000"   
              username="root"   
              password="admin"   
              url="jdbc:mysql://localhost:3306/bbs"         
              maxActive="100"     
              removeAbandoned="true"   
              removeAbandonedTimeout="60"   
              logAbandoned="true"/>  
如果不是DBCP,我在程序里得到它是直接用呢还是先要转换成DBCP或者C3P0来使用?
如果直接用,那麽我从TOMCAT里得到的这个连接池性能怎么样?和DBCP比起来呢?

解决方案 »

  1.   

    tomcat这个数据源是根据dbcp改造的,tomcat理由个jar包(tomcat-dbcp.jar)能说明问题。数据源是不同的实现,没法转换
      

  2.   

    我们不管数据源是什么实现的,程序只需要从JNDI里找到然后getConnection就行了。
      

  3.   

    Tomcat默认采用 DBCP 连接池的,不采取措施用的就是 DBCP这种方式是采用 JNDI 进行配置的,在代码中只需要通过配置好的 JNDI 名字 jdbc/bbs 获得 DataSource 对象,再通过这个对象使用 getConnection() 方法就能获得连接了.一般来说各种连接池都实现了 DataSource 这个接口,绑定在 JNDI 上的连接也是需要实现 DataSource 接口的.使用 DataSource#getConnection() 是获取数据库连接的首先方法!
      

  4.   

    谢谢LZ几位,其实我想问问如果自己写个JAVA应用程序,用的是DBCP,这个连接池是不是还要自己实现?诸如一些连接释放的操作,还是就像TOMCAT里的那样DBCP已经封装好了拿来用就可以了?
      

  5.   

    DBCP,DataBase Connection Pool.