Sure you don't want 100 pools, but why can't you just pass the pool in to your method as a parameter, or store it in an application context, or fetch it from JNDI, or whetever else takes your fancy? Just because you only want one of something right now, does not automatically imply that it should be a Singleton.
Consider what might happen if you need to connect to two databases, but your database access code assumes a Singleton? Consider what might happen if you need to
test your software on a machine that cannot access your database - can you easily and safely provide a "test database" implementation to your code?
Please go and read all the Singleton discussion over in the OO and patterns forum. There's a lot of deep consideration of such points, and more.