每日一得

不求多得,只求一得 about java,hibernate,spring,design,database,Ror,ruby,快速开发
最近关心的内容:SSH,seam,flex,敏捷,TDD
本站的官方站点是:颠覆软件

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  220 随笔 :: 9 文章 :: 421 评论 :: 0 Trackbacks
key words: 连接池 数据库

发现一个有意思的现象,好多人在开发过程中不知道是出于训练自己编码还是为了重新发明轮子,总之明明已经存在的功能他非要自己实现一遍。

今天又碰到一个。

jdbc的连接,好多人也喜欢自己实现一个连接池,但是对于app server来说本身一般都有支持连接池的,为什么不用呢?
写了一通又长又臭的代码,自己以为牛B的很,其实算个球啊。

不要浪费,不要自己发明轮子,你不是最牛的,一定还有比你更牛的!

对于weblogic或者oracle以及ibm的产品来说,大家还是比较习惯于用容器的jndi,但是即使对于tomcat,我个人也建议用tomcat自带的。

附: jndi连接数据库

public final static synchronized Connection getConnection(String inputJNDI) throws
      DBMException 
{
    Connection conn 
= null;
    String strConnJNDI 
= null;
    
try {
      Context ctx 
= new InitialContext();
      _log.debug(ctx);

      
if (null != inputJNDI) {
        
if(inputJNDI.length() > 0)
          strConnJNDI 
= inputJNDI;
        
else
          strConnJNDI 
= dbJndiName;
      }

      
else {
        strConnJNDI 
= dbJndiName;
      }

      DataSource ds 
= (DataSource) ctx.lookup(strConnJNDI);
      _log.debug(ds);
      conn 
= ds.getConnection();
    }

    
catch (Exception ex) {
      _log.error(
"It's error to get connection", ex);
      
throw new DBMException("Error to get connection");
    }

    _log.debug(conn);
    
return conn;
  }


以此类推,类似于xml解析等的工作也没有必要自己一步一步地用dom或者什么乱七八糟的sax自己去搞一遍,搞了半天就使为了得到其中的一个value,何苦来着?    如果你不是为了做研究,那么,效率第一,安全第一.

随便说说,也许有人不同意我的观点,没关系,尽管谈谈,哈哈  :)
posted on 2007-01-04 20:58 Alex 阅读(1927) 评论(8)  编辑  收藏 所属分类: dataBase

评论

# re: 不要浪费资源 : 数据库连接池 2007-01-04 22:19 jrobot[匿名]
解析xml不用jdom有什么呢?
偶新手不知道有什么更简单的方法,拿读取和保存一个软件的xml格式的配置文件来说  回复  更多评论
  

# re: 不要浪费资源 : 数据库连接池 2007-01-04 23:01 罗明
搂主是不是说搞个properties file就可以了?  回复  更多评论
  

# re: 不要浪费资源 : 数据库连接池 2007-01-05 08:44 ncindy
用common-dbcp比用JNDI更简单。

而且,这年头谁还自己写连接代码啊。直接用Hibernate呗。要不就用spring来组装,用spring的JdbcTemplate来操作。事务啥的也都声明在外面交给Spring了。  回复  更多评论
  

# re: 不要浪费资源 : 数据库连接池 2007-01-05 11:07 Ivan Chen
JNDI只是一种资源定位方式。

TOMCAT内置的数据库连接池就是用的common-dbcp。

解析xml用xstream更简单。  回复  更多评论
  

# re: 不要浪费资源 : 数据库连接池 2007-01-05 12:38 errorfun
以此类推,类似于xml解析等的工作也没有必要自己一步一步地用dom或者什么乱七八糟的sax自己去搞一遍,搞了半天就使为了得到其中的一个value,何苦来着?

===========================
确实不明白楼主说:不用DOM解析XML得到VALUE。这句话的高深函义,每每在项目中有需要解析XML的地方我都是用了DOM4J来解析。确实不知道有什么更好的办法得到我想要的VALUE,还望楼主告知一二。  回复  更多评论
  

# re: 不要浪费资源 : 数据库连接池 2007-01-05 13:05 某某
用容器的连接池,不太好吧,这样耦合度太高了吧
用proxool吧  回复  更多评论
  

# re: 不要浪费资源 : 数据库连接池 2007-01-05 16:05 Alex
以我个人经验来看,使用例如common-dbcp,c3p0,以及proxool,碰到的问题比较多,好多还不够稳定,但是容器中的实现一般比较稳定,这一点应该被认可。


至于耦合度,其实现在来看也是扯淡,就好像java的一次编译到处运行,就是就是个鸟,你的项目一旦启动,好多东西都是定了的,有什么需要解耦或者移植的问题。

另外,以我目前看到的情况,对于比较大一点的项目,肯定是用商业app server的,一般都尽量用容器自带的特性,包括数据源,没别的,有保障。

  回复  更多评论
  

# re: 不要浪费资源 : 数据库连接池 2007-01-05 17:24 ncindy
项目和产品是不同di,也许你做项目真是不需要考虑移植,但是做产品肯定要考虑,呵呵。
而且有些客户也会强调移植性,因为他们不喜欢被一个供应商绑死。  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: