我需要重做一个自定义的对象连接池。连接池本质上是一个ConcurrentLinkedQueue
对象,每个对象都针对第三方服务器 (Cognos) 执行操作。池中的每个对象都包含一个令牌 ( String
),用于向第三方服务器发送请求。第三方服务器将在 60 分钟不活动后过期令牌。我需要防止令牌过期,因为从头开始与第三方服务器创建连接可能需要几秒钟。我找到了一种防止令牌过期的方法,但我不知道如何将其合并到 C3PO 或 BoneCP 等开源连接池解决方案中。或者是否应该在池之外或在每个对象本身内执行此“保持活动”逻辑。
在每个连接对象中都有一个计时器来执行保持令牌活动的逻辑(比如每 10 分钟)是否有意义?