btm icon indicating copy to clipboard operation
btm copied to clipboard

How to release abandoned connections?

Open krokodylowy opened this issue 8 years ago • 3 comments

Hi

How configure pool to release all idle and abandoned connections?

The maxIdleTime and PoolShrinkingTask cleans only availablePool but already obtained idle or abandoned connections are in accessiblePool i inaccessiblePool and these pools are not cleaned. This situation can occur in code without connection.close. It seems to me that classic pools like TomcatDbcp or Jboss pools can handle this situation. For example Apache Commons use such concept as AbandonedTrace, RemoveAbandonedOnMaintenance
and org.apache.commons.pool2.impl.GenericObjectPool.removeAbandoned

/** * Recover abandoned objects which have been checked out but * not used since longer than the removeAbandonedTimeout. * * @param ac The configuration to use to identify abandoned objects */ private void removeAbandoned(AbandonedConfig ac)

Of course it has a little impact on performance but server restart is not required if problem exist and can be gracefully logged..

krokodylowy avatar Nov 21 '16 12:11 krokodylowy