获取数据库连接的问题

y1018799688 2015-02-07 04:16:06
通过java的dataSource.getConnection()方法获取weblogic配置的数据库连接

现在的问题是数据库已经挂了,但是还能正常返回连接,请问下是怎么回事?

谢谢
...全文
443 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiji123go 2015-02-13
  • 打赏
  • 举报
回复
引用 6 楼 y1018799688 的回复:
[quote=引用 5 楼 jiji123go 的回复:] 是数据库连接池的原因,连接池已经在数据库停掉之前已经创建,而且通过数据源取连接的时候你们设置的肯定是不检查连接的有效性,所以从连接池中可以正常获取到连接,但提交数据真正与数据库进行交互的时就会报错。
请问下这种情况怎么保证应用不要取到不可用的连接呢?[/quote] 我之前用的DBCP连接池实现,配置文件中有配置项testOnBorrow,即在连接池中借出连接时,对拿到的connection进行校验。
xiaoshujun123 2015-02-10
  • 打赏
  • 举报
回复
把工程clean一下试试
a657594478 2015-02-10
  • 打赏
  • 举报
回复
数据库也会有个会话(session),数据库服务在异常关闭后,程序维护的数据库连接池并没有被关闭掉,所以可以到连接池中取到连接,取到连接后再去查询数据,这时就会报错!
jiji123go 2015-02-09
  • 打赏
  • 举报
回复
是数据库连接池的原因,连接池已经在数据库停掉之前已经创建,而且通过数据源取连接的时候你们设置的肯定是不检查连接的有效性,所以从连接池中可以正常获取到连接,但提交数据真正与数据库进行交互的时就会报错。
y1018799688 2015-02-09
  • 打赏
  • 举报
回复
引用 3 楼 u011074712 的回复:
不明白你说数据库挂了是什么意思,如果是关闭了的意思,那么可能是你虽然把数据库关了,但其实数据库管理系统的服务还没有关掉,所以是可以正常连接数据库的
就是让dba的同事把数据库停了。然后通过plsql是连接不上数据库的,但是应用还能取到连接,但是通过连接去操作数据库就会报错了
y1018799688 2015-02-09
  • 打赏
  • 举报
回复
引用 5 楼 jiji123go 的回复:
是数据库连接池的原因,连接池已经在数据库停掉之前已经创建,而且通过数据源取连接的时候你们设置的肯定是不检查连接的有效性,所以从连接池中可以正常获取到连接,但提交数据真正与数据库进行交互的时就会报错。
请问下这种情况怎么保证应用不要取到不可用的连接呢?
ssj138264 2015-02-07
  • 打赏
  • 举报
回复
不明白你说数据库挂了是什么意思,如果是关闭了的意思,那么可能是你虽然把数据库关了,但其实数据库管理系统的服务还没有关掉,所以是可以正常连接数据库的
yadg 2015-02-07
  • 打赏
  • 举报
回复
应该得不到吧。核对下你的程序是不是连的挂掉的数据库
MyBote 2015-02-07
  • 打赏
  • 举报
回复
没看明白,难道还能获取到数据吗?

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧