sách gpt4 ai đã đi

Kết nối không được trả về nhóm tomcat

In lại 作者:行者123 更新时间:2023-12-02 06:59:58 29 4
mua khóa gpt4 Nike

我在tomcat中有一个jdbc池,用于建立数据库连接。我在使用后没有显式关闭连接对象。我的“maxActive”参数设置为100。应用程序运行了一段时间,但随后失败进行数据库查询。它会等待无限时间来查询数据库。

为什么“removeAbandoned”参数没有将未使用的连接对象返回到池中?

Resource name="jdbc/Dhaval/Application"
auth="Container" type="javax.sql.DataSource" driverClassName="oracle.jdbc.driver.OracleDriver" factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
url="jdbc:oracle:thin:@XXXXXXX:orcl" username="XXXXXX" password="XXXXXX"
maxActive="5" maxIdle="2" maxWait="-1" logAbandoned="true" removeAbandoned="true" removeAbandonedTimeout="10"

1 Câu trả lời

您始终需要在连接上显式调用close(),即使它是由连接池分发的。对 close() 的调用是向连接池发出的信号,表明 Sự liên quan 将返回到池中。

如果您不调用close(),连接池不知道连接再次可用,并且您的池会耗尽(有时池具有回收连接的高级功能,但这些可能会需要相当长的时间才能启动和/或依赖于垃圾收集的发生)。

连接池分发的Sự liên quan是一个逻辑连接(通常是某种包装器或代理),close()方法实际上并不关闭连接,但执行一些清理操作,例如关闭从逻辑连接创建的 ResultSet,Statement 等,使逻辑连接无效,使其无法再使用,然后向连接池发出信号.

然后,连接池将根据其配置和内部逻辑决定是将连接放回池中,还是关闭物理连接(例如,因为池中已经有太多空闲连接)。

关于java - 连接未返回 tomcat 池,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16795562/

29 4 0
Bài viết được đề xuất: java - JNLP Webstart 启动问题
Bài viết được đề xuất: java - Android给出线性布局标签
Bài viết được đề xuất: 使用 XML 请求 URL 的 Java 正则表达式
Bài viết được đề xuất: Java 泛型参数绑定(bind)在实例化中
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com