I thought about asking this question in stack overflow, but seeing that this question is not related to a specific programming question and more specifically related to the Oracle JDBC driver I decided that it would probably be better suited for this forum. I've been a long time .net developer. However, for the past year, I've been working with Java and Tomcat. I'm hoping someone here can clarify my confusion. In .net when connecting to a database using Oracle ODP.net driver from a web application I would simply use the appropriate commands and I can do the connection pooling for the web app and just be on my merry way. In java it appears I can do the same, but I'm not entirely sure. It looks like in Java it is preferred to have the connection pool set up on the server (tomcat). Now every example that I have seen does not actually say that, especially if you look at the examples using Oracle UCP which is what I'm using for this particular applications. So my question is if I deployed 5 distinct applications on to a tomcat web server each (referencing their own UCP java and OJDBC jar) when the application's startup, do each application create its own separate connection pool? At least in the .net world is how I would understand it worked. Forgive my noobness I just don't want to take anything for granted.