The startup of aspire should preload the number of connections that are wanted. You can check this from the log file
During the cleanup task make sure that the following formula is always valid
free connections + checked out connections = all connections
Access a web page once, and then repeatedly. If the connections are preloaded, then the log file should not have an indication of new connections being created.
The number of new connectiosn created should take into account the preexisting connections.
After a prolonged time of inactivity the number of connections should be at least the minimum number
At no time should connections be less than the minimum specified
After activity the connections should be brought back to their original number.
The cleanup task should work in parallel with checked out connections
If a connection has been checked out for too long, then it should be flagged or even closed under right circumstances. Ideally there should not be any orphaned connections.
Cleanup task should allow the current threads working properly. This task should not be blocking them.
Cleanup task should minimally impact the workings of the threads.
Threads should not hang either during normal process or during the cleanup task
Threads shoudl commit their work before they let go of a connection. Otherwise a subsequent thread might commit a previous threads work.