-
Enhancement
-
Resolution: Obsolete
-
Major
-
None
-
15.0.0.Final
-
None
Currently the PersistenceManager delegates availability checks to individual store instances via the NonBlockingStore#isAvailable method. In turn, the JDBC based stores call ConnectionFactory#getConnection on every invocation of this check to ensure a connection with the DB can indeed by established.
In the case of multiple caches sharing the same ManagedConnectionFactory instance, this is very inefficient as unnecessary load is placed on the DB with redundant availability checks. Instead, we should allow for a ManagedConnectionFactory instance to cache availability checks over a given interval so that multiple cache availability checks only create a single connection instance during this time.
To allow the configuration of this caching period, we would need to expose an availability-interval as part of the server data-source configuration.