我有两个班,A班和B班-
A类:-此类具有getData方法,用于从DB获取数据。
class A {
public synchronized getData() {
// get some data from database, in finally block close connection
}
}
类B:-它有递归方法m(),在这个方法中,我调用了类A的getData()。
class B {
m() {
//some condition to terminate the recursion
A a = new A();
a.getData();
m();
}
}
我收到的错误:-
Java语言lang.NullPointerException:null
在com。麦克亨格。v2.c3p0。实施。新建代理连接。getAutoCommit(NewProxyConnection.java:1226)~[c3p0-0.9.5.1.jar:0.9.5.1]
对于getData()方法的第一次调用,我可以从DB中获取数据,但在第二次递归之后,我将连接设置为关闭。任何帮助都将不胜感激。
更新:
我有一个DB Util方法,它在每次调用getData()方法时打开连接。如果我在没有递归方法的情况下调用它(很多次),效果很好,但如果我使用递归,我会出错。递归方法有什么特殊情况需要处理吗?