zxhong,麻烦给段代码看看,我的出现这个异常:
java.lang.ClassCastException: org.apache.commons.dbcp.BasicDataSou
rce我的代码:
       Context initCtx = new InitialContext();
Context envContext  = (Context)initCtx.lookup("java:/comp/env");
this.ds = (ConnectionPoolDataSource)envContext.lookup("jdbc/mysqlserver_bbs") ;
      PooledConnection pcon = ds.getPooledConnection() ;
      this.conn = pcon.getConnection() ;     this.stmt = this.conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY); 

解决方案 »

  1.   

    只是一个造型异常,查看一下:
    this.ds = (ConnectionPoolDataSource)envContext.lookup("jdbc/mysqlserver_bbs") ;
    你的类造型是否正确
      

  2.   

    你们挺搞笑,interface还谈什么性能
      

  3.   

    应该是说jarkata的dhcp的性能如何吧, 我没试过不过我最信任jarkata的冬冬,放心使用吧。
      

  4.   

    阿宝 谢了!
    jdbc/mysqlserver_bbs 没有问题的呀,我用datasource连都没问题的,就是用ConnectionPoolDataSource 就出错了! bdsc炫耀自己是高手呀,ConnectionPoolDataSource不是连接池是什么,就你知道接口呀??接口是用来实现的,不是你这样炫耀的!!!dhcp 是tomcat自带的连接池管理类吧,谁用过,好用么?
      

  5.   

    虽然我不太懂,但我比较支持搂主,不像有人不懂装懂(bdsc()),我最讨厌这种人了,中国的软件行业为什么发展的不行,就是因为像他这种人太多了,真可恶!!!
      

  6.   

    bdsc()
       欠抽啊,不来好好回答问题,放什么冷气,有种就发表以下高见!
      

  7.   

    mysqlserver_bbs要与配置文件中命名的一致
    你的jdbc版本?
      

  8.   

    难道你认为
    this.ds =
    (ConnectionPoolDataSource)envContext.lookup("jdbc/mysqlserver_bbs");
    就能把 lookup 得到的东东变成 ConnectionPoolDataSource 了?呵呵,也许人家不是实现的这个接口呢?所以会出现 ClassCastException。要搞清楚,接口其实是什么事都不做的,我们只是通过接口类型的变量调用实现了这个接口的具体的类罢了(有点象把子类的值赋给一个父类的变量那种情形)。
      

  9.   

    我没有用过 Tomcat 的 DataSource(但是看过,没用起来,因为我想试试一个 DataSource 支持所有的 Context,而不是在每个 Context 下建各自的 DataSource,各位有知道如何实现的吗?),不过我认为通过 DataSource 接口的 getConnection 方法得到的就是连接池中的 Connection,所以不必多此一举用什么 ConnectionPoolDataSource,我看了一下 jakarta 的 commons-dbcp,似乎没有 ConnectionPoolDataSource 的实现 :)另外,zmxj(zming)  说的 dhcp 应该是 dbcp, 是 jakarta commons 项目中的一部分,  bdsc() 说的 Interface 没什么性能可谈也没错。
      

  10.   

    this.ds =
    (DataSource)envContext.lookup("jdbc/mysqlserver_bbs");