I have web service designed for Mobile applications. This web service accesses the MySQL database.
There may be many users who runs the mobile app say 100000 concurrent.
I am very much in confusing that which Connection Pool should I use for MySQL database connectivity in JDBC. Please guys suggest me reliable, faster, easier and efficient connection pool to be used.
Thanks in advance.
100k concurrent mobile application users usually does not mean 100k concurrent database connections. In fact, that is almost never the case for a web service. The reason for having a pool is so that connections can be shared efficiently between users/sessions (or between multiple service requests to the database.)
Usually, the database connection pooling built-in to your application server is the easiest, and an often sufficient, solution. In the case of Tomcat 6/7, that would be the newer “Tomcat JDBC Connection Pool“.
Well-known standalone options included Commons-DBCP and c3p0. However, there have been issues with both libraries. These days if you need a standalone connection pooling library, I would recommend trying the “Tomcat JDBC Connection Pool“.