各位师兄:
   大家好,手上有一个C/S结构的程序,服务端是JAVA写的,对数据的存取没有采用连接池,是直接存取的,
  加载驱动只有一次Class.forName(driver);但每次都有申请新连接Connection connection = DriverManager.getConnection(url, userName, passWord);在使用完后就connection.close();
  我在程序对数据进行存取的步骤中都加了异常处理,以保证无论数据存取成功与否都会进行connection.close()将连接关掉。
  谁知运行一阵后,会不定期地出现数据库死锁的现相。我想问题应该是出在这种存储方式上,所以我想如果改用数据库连接池是否可以避免死锁情况的产生呢?
  以前没有做过数据库连接池,如果要自己写一个,不知道怎么写?
想用已有的产品来做数据库连接池嘛,可是weblogic和tomcat都只对WEB项目来做的,不知道有没有适用于C/S结构的数据库连接池呢?怎么用?
  希望赐教,谢谢,分不是问题。

解决方案 »

  1.   

    jboss中可以配连接池,C/S结构应该也可以用
      

  2.   

    可以使用dbcp数据源:http://jakarta.apache.org/commons/dbcp/
      

  3.   

    建议用hibernate,很方便,省去你写很多代码
    c/s照样能用hibernate
      

  4.   

    谢谢各位的回答 pirateRocy(海盗罗西) ( ) 信誉:100    Blog  2006-12-06 11:43:18  得分: 0  
        顺便说一句,死锁和用不用连接池,没有什么关系把。
    ======================================================
     那什么原因会造成程序存取数据经常死锁呢???   
     
      

  5.   

    再补充一下,用hibernate+spring来做c/s的更爽
    用jdbc你要写几十行的,你用spring+spring仅仅需要几行代码,
    同时也省去了你去写工厂
      

  6.   

    给你个连接,这个是我看mvnforum的代码后,写的1个简单的连接,你自己去瞧瞧.
    http://nx0010.itpub.net/post/8452/219124
      

  7.   

    TO nx0010(聂雄)
      我试一下。谢谢。