application don't need to get brand new connection from database. It gets connection from datasource pool and returns to pool. Moreover you can specify maximum and minimum number of conneections which an application may open with database.
we are not directly getting connection from database, connection pool is creating connection, why can't we directly use connection from connection pool............why we need data source in between.