首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Eclipselink:如何检查是否使用了连接池

Eclipselink:如何检查是否使用了连接池
EN

Stack Overflow用户
提问于 2017-01-23 00:47:15
回答 1查看 1.6K关注 0票数 2

我使用eclipselink 2.6.3,我需要确切地知道Eclipselink是否创建并使用了连接池。

如果使用persistence.xml,我有以下设置

代码语言:javascript
复制
<property name="eclipselink.connection-pool.default.initial" value="5" />
<property name="eclipselink.connection-pool.default.min" value="10" />
<property name="eclipselink.connection-pool.default.max" value="10" />
<property name="eclipselink.jdbc.cache-statements" value="true" />

然而,对于这两种情况,日志是相同的-当我使用这些设置时,当我不使用这些设置时:

代码语言:javascript
复制
[EL Finer]: connection: 2017-01-22 19:39:03.208--ServerSession(1440738283)--client acquired: 1177072083
[EL Finer]: transaction: 2017-01-22 19:39:03.218--ClientSession(1177072083)--acquire unit of work: 1482166692
[EL Finest]: query: 2017-01-22 19:39:03.239--UnitOfWork(1482166692)--Execute query ReadObjectQuery(...)
[EL Finest]: connection: 2017-01-22 19:39:03.243--ServerSession(1440738283)--Connection(2008547236)--Connection acquired from connection pool [read].
[EL Finest]: connection: 2017-01-22 19:39:03.243--ServerSession(1440738283)--reconnecting to external connection pool
[EL Fine]: sql: 2017-01-22 19:39:03.244--ServerSession(1440738283)--Connection(1590792382)-- SELECT ...
[EL Finest]: connection: 2017-01-22 19:39:03.25--ServerSession(1440738283)--Connection(2008547236)--Connection released to connection pool [read].
[EL Finer]: transaction: 2017-01-22 19:39:03.257--UnitOfWork(1482166692)--release unit of work
[EL Finer]: connection: 2017-01-22 19:39:03.257--ClientSession(1177072083)--client released

谁能告诉我如何检查连接池的使用情况?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-24 05:59:27

EclipseLink可以在两种模式下运行。当您提供JDBC URL和池属性时,EclipseLInk将创建并管理连接池。池的实现是org.eclipse.persistence.sessions.server.ConnectionPool。另一种方法是通过JNDI引用或以编程方式提供DataSource。第二种方法通常用在应用程序服务器中,服务器将管理连接池,当EclipseLink需要新连接时,它将询问DataSource。

如果要检查连接是否池化,则很可能必须从数据库端进行检查。所有数据库都允许您查看连接及其id的列表,以及它们当前正在执行的查询。这应该允许您查看连接是池化的,还是不断创建新连接的。您还可以在org.eclipse.persistence.sessions.server.ConnectionPool#acquireConnection()中设置断点并逐步执行代码。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41793544

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档