I am reading the Java JDBC specification (vr. 4) and I encountred this statement:
DataSource — this interface was introduced in the JDBC 2.0 Optional
DataSource objects can provide connection pooling and distributed transactions, so you may have to use DataSource if you need one of or both these features.
DataSource