Sorry, I missed that the first time :(
For blocking databases (e.g. JDBC), I'd recommend creating a verticle, each instance of which manages a single database connection.
Don't use statics to share a database connection pool - this won't work anyway since each verticle instance runs in its own classloader so you'll actually end up with each instance having its own pool.
Then, create an instance of work queue (see modules manual), and instantiate a single instance of that. Instantiate X instances of your database verticle (tune X to see where best performance lies). These X instances then form your "pool".
Have each instance of your verticle register itself with the work queue.
Then clients just send messages to the work queue, and this will distribute work among the available database verticles as they are available.