If I’m using more than one GenericKeyedObjectPool in an application with enabled asynchronous idle object eviction how many “idle object eviction” thread will run in the background?
Do multiple GenericKeyedObjectPools create only one eviction thread or do they create separate threads for every pool?
The current implementation (v1.6) uses a static timer, so in practice multiple pools use only one eviction thread. (Assuming that they are loaded into the same classloader.) You can check it with
jstack, there is only one timer thread: