If StartGameHandler takes the last connection available in the c3p0
pool, then Game.start() will block inside sessionProvider.get(). But
since this is nested within, StartGameHandler never gets to the
finally block where it releases its connection.
Testing done
mvn clean package war:war, ran a local stress test and I am no longer seeing Tomcat HTTP threads stuck inside AjaxHandler.
If StartGameHandler takes the last connection available in the c3p0 pool, then Game.start() will block inside sessionProvider.get(). But since this is nested within, StartGameHandler never gets to the
finally
block where it releases its connection.Testing done
mvn clean package war:war
, ran a local stress test and I am no longer seeing Tomcat HTTP threads stuck inside AjaxHandler.