Check preloaded connections
The startup of aspire should preload the number of connections that are wanted. You can check this from the log file
The state of the pool should be intact at all times
During the cleanup task make sure that the following formula is always valid
free connections + checked out connections = all connections
Repeated Single page hit
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.
Multiple pages at the same time
The number of new connectiosn created should take into account the preexisting connections.
Dormant connections test
After a prolonged time of inactivity the number of connections should be at least the minimum number
Guaranteed minimum
At no time should connections be less than the minimum specified
Closing additional connections
After activity the connections should be brought back to their original number.
Cleanup task should allow for checked out connections
The cleanup task should work in parallel with checked out connections
No Orphaned 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 not interrupt what is going on
Cleanup task should allow the current threads working properly. This task should not be blocking them.
Cleanup task should not drastically affect performance
Cleanup task should minimally impact the workings of the threads.
No dead locks
Threads should not hang either during normal process or during the cleanup task
Commit wrong things
Threads shoudl commit their work before they let go of a connection. Otherwise a subsequent thread might commit a previous threads work.