【问题标题】:Database JDBC Find out open connections/sessions?数据库 JDBC 找出打开的连接/会话?
【发布时间】:2015-03-11 12:51:03
【问题描述】:

例如,在进行 JPA 操作时,我们是否可以一次找出打开的连接。

为了更清楚,我没有收到可用的缓冲区空间错误。所以我想知道我是否可以在我的代码中关闭我的连接以避免这个错误?

或者如果我可以使用一些监控工具来监控它发生了什么等等。

这是一个帮助请求,如果你能帮助我会很感激,如果你不能帮助那你为什么要拒​​绝投票?这不鼓励寻求帮助。

【问题讨论】:

  • 通常你使用一个负责所有连接维护的连接池。看看BoneCPc3p0
  • 其实不清楚你的意思。保持打开连接列表不是JPA的一部分,它是连接池的责任
  • @Magnamag 我会看看这些。
  • 您可以使用 p6spy 或 log4jdbc 等 jdbc 代理驱动程序来记录连接打开和关闭的时间,以便找出问题所在。
  • 感谢@Magnamag 我也能够在 sql server management studio 和 mysql workbench 中找到连接。我也成功配置了c3p0。

标签: java jpa jdbc


【解决方案1】:

在我看来,这取决于您使用的驱动程序,其中一些可能有一些了解它的方法。但这可能是一种危险的做法,因为您可能会关闭当前使用的连接。

最好的方法是使用一个连接池管理器来处理所有的连接,例如:

http://www.mchange.com/projects/c3p0/index.html

或者将您的数据库连接集成到 ORM 中,例如休眠:

http://hibernate.org/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-06
    • 2014-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多