This PR allows to suspend and gracefully shut down the connection pool of a HikariDataSource within the container lifecycle phases.

Comment From: christophstrobl

@wilkinsona rebased and now failing hard when conditions are not met. I had to delay the reflective lookup to pass all tests. So initially there'll only be a field and type check, but the HikariPool instance check of HikariPoolMXBean will happen later. Also made sure to use DataSourceUnwrapper to get the target of a proxy/delegate instance.

Comment From: wilkinsona

Thanks for the updates, @christophstrobl. We discussed this today and decided that we're happy with the reflection as it'll only come into effect when checkpoint-restore is being used. Would you like to take the PR out of draft status?

Comment From: wilkinsona

Thanks very much, @christophstrobl.