> Not running under Windows
It's actually not an issue about Windows as such, but a problem with spaces in paths. I have my m2 repository in C:\Users\Jukka Zitting\.m2\repository, so the cmd string breaks. Adding explicit quotes around the classpath fixed the problem for me, but I still think the solution is quite fragile.
> external process vs. threaded
I see your point about a "harder connection loss", but from the perspective of our code the result is just the same: a JDBC call throws an exception. I don't see how the manner in which the connection is lost could affect the behaviour of our code, and so I prefer that we use simplest possible way to introduce such a scenario.