The PooledConnectionFactory will currently always on startup create a connection, and if that fails a WARN is logged and ignored.
I think we should allow end users to configure if they want the pool to create a connection on startup or not.
If they set the option to false, then the connection is created on-demand.
I have attached a patch with this option, using a default value of true to keep current behavior. The patch also adds some more logging, as well removing some not needed code, in the start method, ie the IOExceptionSupport that don't make sense.