What happens when timeBetweenEvictionRunsMillis of Tomcat 8 JDBC connection pool is set to -1?
The tomcat wiki says it should not be less than 1 second:
timeBetweenEvictionRunsMillis - (int) The number of milliseconds to sleep between runs of the idle connection validation/cleaner thread. This value should not be set under 1 second. It dictates how often we check for idle, abandoned connections, and how often we validate idle connections. The default value is 5000 (5 seconds).