ConnectionPoolDataSource aids the container (app.server) to do pooling.
GlassFish does pool all type of datasources (including a driver's CPDS eg: OracleCPDS)
Yes, you can prefer ConnectionPoolDataSource type.
It is possible that the jdbc driver may provide optimizations for CPDS / XADS as they will be pooled.
[Message sent by forum member 'jr158900' (jr158900)]
http://forums.java.net/jive/thread.jspa?messageID=303854