gpt4 book ai didi

java - 如何在 Oracle UCP 中使用 TimeToLiveConnectionTimeoutCallback

转载 作者:行者123 更新时间:2023-12-01 05:51:51 26 4
gpt4 key购买 nike

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

我希望 PoolDataSource 或 UniversalConnectionPoolManager 有一个接口(interface)来注册此类回调。我希望这样的接口(interface)能够通过接口(interface)传递相关的连接。两者都不是真的。

似乎我必须向每个 UniversalPooledConnection 注册一个单独的 TimeToLiveConnectionTimeoutCallback,这在我看来很棘手、丑陋(大量 UCP 导入/粘合代码)并且困难(创建 DataSource 包装器)。

还是我搞错了什么?不幸的是,文档仍然保持沉默。

最佳答案

过了一段时间,我意识到我的假设是正确的。我必须以一种棘手且不优雅的方式为每个 Connection 注册一个回调。

我还向 Oracle 提出了支持请求,证实了这一点:

void registerTimeToLiveConnectionTimeoutCallback(TimeToLiveConnectionTimeoutCallback cbk) throws java.sql.SQLException

registers a time-to-live connection timeout callback with a connection.

The callback object is registered with each pooled connection. It is an error to register more than 1 TimeToLiveConnectionTimeoutCallbacks on the same connection, or else you will get an exception.

As mentioned in it, the callback object is registered with EACH pooled connection.

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

关于java - 如何在 Oracle UCP 中使用 TimeToLiveConnectionTimeoutCallback,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4441271/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com