发帖    主题    评论    推荐    标签    作者    订阅    查搜    注册   登陆   关注
 
面向对象 设计模式 领域驱动设计 云架构 框架 开发教程 SOA 大数据 扩展性 并发编程 EDA 分布式 函数编程

我想把连接池的调用放在bean里面,但我不知道怎么返回池连接,帮我看看

2002-09-05 11:30
赞助商链接

我想把连接池的调用放在这个bean里面,但我不知道怎么返回池连接,conn.close不管用,但在jsp程序里却可以,如果用我现在的bean来执行数据库程序,只能执行5次(我的weblogic默认池连接数为5),5个用完,就over了,谁能告诉我在bean里怎么把池连接返回。谢谢你们了


package test;
import java.sql.*;
import java.util.*;
import javax.naming.*;
import javax.sql.*;

public class bbsreg{
Connection conn = null;
ResultSet rs = null;
Statement stmt =null;
Context ctx = null;
javax.sql.DataSource ds=null;

public bbsreg() {

try
{
Hashtable ht = new Hashtable();
ht.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
ht.put(Context.PROVIDER_URL,"t3://127.0.0.1:7001"); //此处为WEBLOGIC服务器地址和端口
Context ctx = new InitialContext(ht);
ds = (javax.sql.DataSource) ctx.lookup ("dsdata"); //此处为数据源中JNDI的名称。
conn = ds.getConnection();
}
catch(Exception e) {
System.err.println("bbsreg(): " + e.getMessage());
}
}

public ResultSet executeQuery(String sql) {
rs = null;
try {
Statement stmt = conn.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);
rs = stmt.executeQuery(sql);
}
catch(SQLException ex) {
System.err.println("aq.executeQuery: " + ex.getMessage());
System.err.println("aq.executeQuerystrSQL: " + sql);
}

return rs;
}


public void executeUpdate(String sql) {
try {
Statement stmt = conn.createStatement();
stmt.executeUpdate(sql);
}
catch(SQLException ex) {
System.err.println("aq.executeUpdate: " + ex.getMessage());
System.err.println("aq.executeUpadatestrSQL: " + sql);
}

}
public boolean closeConn()
{
try
{
if(rs!=null)
rs.close();
if(stmt!=null)
stmt.close();
if(conn!=null)
conn.close();
return true;
}
catch(SQLException ex)
{
System.out.println("closeConn:"+ex.getMessage());
return false;
}
finally {
try {ctx.close();
}
catch (Exception e) {
// a failure occurred
}
}
}


}

赞助商链接

赞助商链接

返回顶部

移动版 关于本站 使用帮助 联系管理员 最佳分辨率1366x768
OpenSource JIVEJDON Powered by JdonFramework Code © 2002-20 jdon.com