I am aware that today you can find 
out of the box implementation of connection pool
but I had to write one my self so I thought it is worth the share