Overall, this is a bad idea. You might be able to get basic CMP functions to work. I'm not sure because I haven't tried. However, Container Managed Transactions(CMT) require the use of a WebLogic Tx Datasource. Likewise a Tx Datasource feeds from a WebLogic Connection Pool. Therefore, to support CMT (which you most likely will be using) then you need to use a WebLogic Connection Pool. Just curious... why would you want your own Connection Pool implementation to back a CMP? You don't control any of the database interaction in the CMP, so why would it matter what Connection Pooling software WebLogic uses?