1. A method for managing a heterogeneous connection pooling architecture at an application server, the method comprising: receiving a connection request from an application for a data source having at least one specified data source property; in response to an application server receiving the connection request, a processor managing the heterogeneous connection pooling architecture at the application server by: searching a pool module for a cached connection, wherein the pool module is a heterogeneous pool that contains a plurality of pooled connections having different connection attributes, wherein the pooled connections are reused responsive to a request by the application, and wherein the pooled connections are cached across multiple data sources containing different data source properties; returning, from the application server to the application, one of the cached connection and a new connection as a returned connection, wherein if the cached connection is available in the pool module, the cached connection is automatically selected as the returned connection; determining which one of a dirty reuse protocol, an optimistic reuse protocol, and a clean reuse protocol is to be applied to the returned connection as a connection reuse protocol, wherein the connection reuse protocol provides a configuration for resetting the returned connection for reuse; in response to the connection reuse protocol being the clean reuse protocol: resetting the set of connection attributes of the cached connection to a set of default values of the set of connection attributes, wherein the set of connection attributes that are reset are one or more data source properties from the at least one specified data source property, wherein the one or more data source properties are not explicitly passed in by the connection pool module; communicating a reset request to reset the cached connection to the database server; and communicating a set request to set the at least one specified data source property of the cached connection; determining which one of a plurality of statement reuse protocols is to be applied as a statement reuse protocol for the returned connection, where a statement reuse protocol identifies whether a previous describe information for a connection is required to be retained, discarded, or replaced and wherein the plurality of statement reuse protocols comprises a no describe on reuse protocol, a describe on reuse protocol, a conditional describe on reuse protocol, and a no reuse protocol; in response to determining the statement reuse protocol is a no describe on reuse protocol, the application server retaining the previous describe information for the returned connection; closing all open statements associated with the cached connection if the statement reuse protocol is a no reuse protocol; in response to the statement reuse protocol not being a no reuse protocol, placing the returned connection into the pool module; and connecting the application to a database server based on the determined connection reuse protocol and the statement reuse protocol.