【问题标题】:checking number of connections used by data source : Java检查数据源使用的连接数:Java
【发布时间】:2015-08-17 17:14:30
【问题描述】:

有没有办法检查数据源使用的连接数?

我的 Web 应用程序出现 connectionwaittimeout 异常,因此要检查哪个函数正在使用更多连接或未释放任何连接,我想随时检查数据源使用的连接数。

【问题讨论】:

  • 您使用的是哪个版本的 WAS(Liberty 还是 Classic?)?如果您使用的是经典 WAS,那么您可以在 Web 管理控制台中使用 PMI(性能监控基础架构)。
  • 是的,我可以看到 PMI,,,,如何使用它来检查数据源使用的连接

标签: java jakarta-ee connection datasource ibm-was


【解决方案1】:

根据您的 DataSource 的实现,您可能可以访问一些可配置的属性。例如,来自 apache-commons 的 BasicDataSource.removedAbandonned 允许在使用时间过长时将连接回收回池。 但当然你应该回到你的代码并确保任何手动借用的连接都在 try-catch-finally 块中正确关闭(或新的Java 7 try-with resources 语法)

【讨论】:

  • 我在我的网络应用程序中使用 java 6....我应该怎么做才能使用 DataSource 类对象在任何时候获取连接数
【解决方案2】:

在 WebSphere Application Server 中,您至少有两个功能可以帮助您:

1) PMI(性能监控基础架构)
您可以在 Datasoruce 上启用各种计数器并对其进行监控。有关详细信息,请参阅JDBC counters。对我来说最有用的是FreePoolSizePercentUsed 查看池利用率,WaitingThreadCountWaitTime 查看是否有线程等待以及等待多长时间,JDBCTimeUseTime 查看平均查询与保持连接的时间相比的时间。

2) 连接泄漏检测

WebSphere 包含允许您在出现 ConnectionWaitTimoutException 时转储连接池的跟踪设置。有关如何配置和使用它的详细说明,请参阅以下 pdf - Understanding and Resolving ConnectionWaitTimeoutExceptions

【讨论】:

    猜你喜欢
    • 2018-09-23
    • 1970-01-01
    • 1970-01-01
    • 2021-08-17
    • 1970-01-01
    • 2011-03-08
    • 1970-01-01
    • 2011-04-16
    • 1970-01-01
    相关资源
    最近更新 更多