Thread中运用Connection的问题
最近合并一个项目到一个老项目中(甲方的人很无聊),不是用spring,基本上所有东西获取connection然后来通过一个封装的方法调用数据库。(很操蛋,返回的都是List<Map>,还不能返回pojo对象的List)
没办法 改吧。
现在遇到一个问题,那就是在线程中管理java.sql.Connection
java.sql.Connection他们也是要
继承一个类才能获取。很无奈啊。
什么 this.getContext().getConn();
看过一个人的帖子,用构造方法传进去,但是后面越来越慢,应该是没有release掉。
我在想 如果通过构造方法的方式传递Connection对象,但是在外面已经close掉了。里面的connection时候为空呢?
public void mian (){
try{
Connection con = this.getContext().getConn();
x1Thread = new Thread(con);
} finally {
con.close();
}
}
还有一个就是我在线程里面关掉Connection 会不会影响到其他的线程?
小弟在此寻求方法如何在线程中对于connection有较好的管理。
------解决方案--------------------创建线程的过程受你控制么?如果可以那么自己多封装一层吧。
也就是说你自己写的代码在最外层的 run() 函数,调用原来执行对象的 run() 函数;
public void run() {
try {
OldThread old = new OldThread(con);
old.run(); // 不是 start()
} finally {
con.close();
}
}