并发:在自定义连接池中实现连接超时

时间:2013-06-19 10:02:34

标签: java multithreading concurrency connection-pooling java.util.concurrent

我必须实现自己的连接池,我希望自动连接 在一些CONNECTION_TIMEOUT之后返回池中。我该如何实现呢?

我想到的一切就是在一个单独的线程中使用ScheduledExecutorService,并在每次使用连接时重新计算它。

还有其他想法吗?

2 个答案:

答案 0 :(得分:1)

您可以使用客户端请求进行池化连接,以触发某些操作,例如,检查当前使用的连接的超时,并重新发布当前使用的超时已到期的连接。您将避免使用新线程。

答案 1 :(得分:0)

如果连接池的用户借用了连接,则用户有责任将其返回池中。连接无法返回池中。