如何在Oracle UCP(通用连接池)中使用timetoliveconnectionTimeCallback?

我希望Pooldatasource或UniversalConnection -Poolmanager具有一个接口可以注册此类回调。我希望这样的接口将通过接口传递相关的连接。都不是真的。

看来我必须向每个通用式连接注册一个单独的timetoliveconnectionTimeCallback,在我看来,在我看来,棘手,丑陋(大量UCP Imports/Glue代码)和困难(创建数据源包装器)。

还是我弄错了?不幸的是,该文档仍然保持沉默。

有帮助吗?

解决方案

一段时间过去了,我意识到我的假设是正确的。我必须注册每个 Connection 以一种棘手的方式。

我也打开了 支持请求 从Oracle确认了这一点:

void registertimetoliveconnection time outcallback(timetoliveconnection time outcallback cbk)抛出java.sql.sqlexception

登录使用连接的时间播放连接超时回调。

每个汇总连接都注册回调对象。在同一连接上注册超过1个timetoliveconnectionTimeCallbacks是一个错误,否则您将获得异常。

如其中所述,每个汇总连接都注册了回调对象。

由于其他一些错误和/或设计缺陷(当然,后者可能是主观的),我决定不在项目中的UCP。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top