用RESIN做服务器,页面生成经常会突然变慢。 (1)找找DBPOOL里面有没有多少时间自动刷新的选项(2)看看你的程序是不是可以改进关注 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 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配置 死了死了,定是resin中非典了。 再自顶。会不会用多了SYSTEM.OUT.PRINTLN() 会导致出错? 我用的是oracle数据库,问题和你的一样我现在也在找其中的原因:) to gotogod:有时TOMCAT也有类似情况,不过次数少多了 其实主要应该是你用的DBPool的原因不知道你用的什么DBPool?? <init-param max-connections="20"/>应该是连接数目太少了,你设大一点,看看如何!?跟SYSTEM.OUT.PRINTLN() 应该没有关系!另外,在rs使用完后,应及时close;也就是,你应该在程序中加一句:rs.close(); 谁了解,做Mac os 应用软件(objective-c)开发前景如何 又来提问题啦?下拉框的 GetDate.getPreviusMonth( gc )问题!!! @符号的含义 请问有没有什么方法可以将转化为字符串的对象还原成原对象 帮忙看看这题 仁兄们帮我串一下这几个词 我把JTextArea放入JScrollPane中实现垂直滚动功能,但是为什么每次滚动的时候,滚动条总是在上方?如何调整使滚动条再下方啊 JB中....布署EJB出现问题:::::::::::起初还好好的!!!!!!! 和DES有关的JAVA问题,有兴趣的请进 程序错误,请大家帮忙看看。 关于垃圾处理的问题
<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配置
我现在也在找其中的原因:)
应该是连接数目太少了,你设大一点,看看如何!?跟SYSTEM.OUT.PRINTLN() 应该没有关系!另外,在rs使用完后,应及时close;也就是,你应该在程序中加一句:
rs.close();