after using liquibase with HikariDatasource we found an issues causing connection leak.
I am not 100% sure but I found at least one not closed connection in your code:
Above you close database, but not connection.
Can you make sure you close connections in all places, where you use them? Or is it by design? If yes, then why?
Or better approach is to use try-with-resources if java 7 is the minimum version