谁能告诉我数据库连接池原理,什么是通过JDBC直接连接,什么是通过连接池连接.我们项目中一般是下边的方式连接,算是什么方式连接,谢谢.
        try {
            // データソースを取得する
            InitialContext ic = new InitialContext();
            ds = (DataSource) ic.lookup("java:/aivi");            //クネクションを取得する
            conn = ds.getConnection();            // AutoCommitを無効
            conn.setAutoCommit(false);            //conn.setHoldability(ResultSet.CLOSE_CURSORS_AT_COMMIT);        } catch (Exception e) {
            throw new DBConnectException(e.getMessage());
        }

解决方案 »

  1.   

    Nothing
    无非是JNDI指定一个数据源,然后找到就行了。所谓链接池,就是一堆Conn对象在里面而已,feel free。
    没有啥的,。
      

  2.   

    我以前倒是自己模拟过,这种东西原理简单,只是实用效果不好说而已,但是自己随手写个,又总会比你直接getConnection的效果要好点。
    仅此而已。
      

  3.   

    你写这段就是连接池的代码 最多也就缺少连接池的配置BAIDU下好多
      

  4.   

    说实话,我做了不少项目,都是通过       
         // データソースを取得する
                InitialContext ic = new InitialContext();
                ds = (DataSource) ic.lookup("java:/aivi");            //クネクションを取得する
                conn = ds.getConnection();
    这样的方式连接数据库,在TOMCAT,JBOSS配置好就行了,至少有5个项目都这样做的,做日本的项目,DATABASE是ORACLE,
    楼上的兄弟,我的MSN:[email protected]
      

  5.   

    我在EJB中了解到对象池的概念,是否跟它差不多呢.
      

  6.   

    当然都是一样意义上的东西了。
    关键是你做过很多项目都是在J2EE Server的基础上做的。我没有怎么做过,
    但是我实现过TOMCAT的原型,对J2EE的规范,JNI,JNDI,RMI等等有一些了解而已,所以你不知道原理什么的,但是我基本不会写JSP呢。
      

  7.   

    你给的例子属于数据库连接池的一种方式.
    首先你要了解数据库连接是一种非常宝贵的资源,之所以说其宝贵是因为直接和数据库进行一次连接代价是非常大的,虽然小规模程序给人的感觉也是很快,但访问量增加后就会体现出来了.
    为了不至于每次存取数据库都与数据库直接建立连接就产生了数据库连接池的概念:把连接当作一个一个的资源来看待,在这个"池子"里放很多已经产生好的连接,使用的时候直接从"池子"里拿而不是真正与数据库进行连接(拿出来的这个连接已经是可用的),用完了放回池子而不是真正关闭与数据库的连接,这个池子除了做为容器外还根据需求量的变化控制池子里连接的数目以保证连接足够使用且不浪费.
    我知道的连接池有两种实现方式:一个就是你给的例子中的JNDI,如果你学过RMI就能理解的更好一些,就是服务器提供了一些资源,你通过域名得到这个资源来使用,而这个资源就是数据库连接池
    第二种方式就是按我上面说的原理自己写一个数据库连接池进行连接的管理,现在已经有好多现成的了
      

  8.   

    jiaozi226(骄子) 说的有道理.
      

  9.   

    javax.naming.InitialContext.lookup("java:/aivi"),这个方法查找到的实际上是一个远程对象的引用,连接池的实现原理已经封装到J2EE容器中了,这样我们不需要手写连接池代码了,对吗,我的理解是否正确.谢谢.
      

  10.   

    资料发到[email protected]里面了