java 连接 sql server 数据库 :连接已关闭

1、如果我像图片中所示的代码,对于数据库的连接采用单例设计模式。2、然后,我使用TimerTask定时执行任务3、建立了一个变量Connection接收单例类中调用方法g... 1、如果我像图片中所示的代码,对于数据库的连接采用单例设计模式。2、然后,我使用 TimerTask 定时执行任务3、建立了一个变量Connection 接收单例类中调用方法getDBConnection得到的数据库的 connection。4、每次定时任务执行完毕后,我关闭了数据库的连接,connection。5、然后,每次定时任务开启,我又会通过单例类调用方法得到connection,把连接赋值给全局的变量Connection ,重新获取连接。6、可是当用到这个连接的时候,会报错:连接已关闭7、如果我在定时任务执行完之后,不关闭数据库的连接:connection。下一次执行的时候,就不会报错。这是为什么呢? 难道,第二次报错的时候,使用的单例类,还是第一次建立的单例类的对象(但是我每次都调用了getDBConnection方法啊!)我的猜测:第二次使用的单例类,还是第一次创建时的对象,同一个对象只能连接一次数据库? 展开
 我来答
百度网友fd7798f
2016-08-01 · 超过17用户采纳过TA的回答
知道答主
回答量:44
采纳率:0%
帮助的人:22.6万
展开全部
看描述两次应该是同一个connnection,问题就是getDBConnection中开头的判断,
若connection != null 则直接返回此对象,具体要看你第一次关闭连接怎么做的了,(close是释放占用资源,不会将connection置为null),建议debug调试下
浩瀚的天夜
2016-08-01
知道答主
回答量:29
采纳率:100%
帮助的人:9.2万
展开全部
你都写了connection不为空时候直接返回了怎么会不报连接关闭的错误
追问
connection 不为空,难道不是说明了  connection还存在,还能用吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式