(1)找找DBPOOL里面有没有多少时间自动刷新的选项
(2)看看你的程序是不是可以改进关注

解决方案 »

  1.   

    TO ChenZhi_cz:(1)配置:resin.conf:
    <resource-ref>
      <res-ref-name>jdbc/faxdb</res-ref-name>
      <res-type>javax.sql.DataSource</res-type>
      <init-param driver-name="org.gjt.mm.mysql.Driver"/>
      <init-param url="jdbc:mysql://localhost:3306/fax"/>
      <init-param user="root"/>
      <init-param password="root"/>
      <init-param max-connections="20"/>
      <init-param max-idle-time="30"/>
    </resource-ref>(2)程序是用jsp 调JAVABEAN 。在类中的代码示例:package fax.database;
    import com.caucho.sql.*;
    import java.sql.*;
    import java.util.*;
    import java.math.*;
    public class DbRate {
      
     
      private static final String RATE_QUERY = "SELECT * FROM rate WHERE s_type=?";
     
      private DBPool pool = null;  public DbRate() {
        try {
          pool = DBPool.getPool("faxdb");
        } catch (SQLException e) {
          System.out.println("DataSource or JNDI caught erro");
        }
      }/**
     * 取得某类传真的费率
     */  public double getTRate(String Type) {
        Connection conn = null;
        PreparedStatement ps = null;
        ResultSet rs = null ;
        double rate = 0 ;    try {
          conn = pool.getConnection();
          ps = conn.prepareStatement(RATE_QUERY);
          ps.setString(1,Type);
          rs = ps.executeQuery();
          if (rs.next()) {
            rate = rs.getDouble("i_rate") ;
          }
        } catch (SQLException e) {
          
       System.out.println(e.toString());
        } finally {
          try {
            ps.close();
            conn.close();
          } catch (SQLException ex) {
            ex.printStackTrace();
          }
          return rate ;
        }
      } }请问我的问题在哪里呢?特别是resin.conf配置
      

  2.   

    死了死了,定是resin中非典了。
      

  3.   

    再自顶。会不会用多了SYSTEM.OUT.PRINTLN() 会导致出错?
      

  4.   

    我用的是oracle数据库,问题和你的一样
    我现在也在找其中的原因:)
      

  5.   

    to gotogod:有时TOMCAT也有类似情况,不过次数少多了
      

  6.   

    其实主要应该是你用的DBPool的原因不知道你用的什么DBPool??
      

  7.   

    <init-param max-connections="20"/>
    应该是连接数目太少了,你设大一点,看看如何!?跟SYSTEM.OUT.PRINTLN() 应该没有关系!另外,在rs使用完后,应及时close;也就是,你应该在程序中加一句:
    rs.close();