The reflective variant of extractDatabaseMetaData should be deprecated in favor of the callback-driven one which can be conveniently used with a Java 8 lambda expression or method reference.

Additionally, the DatabaseMetaDataCallback interface and the corresponding JdbcUtils.extractDatabaseMetaData(DataSource, DatabaseMetaDataCallback) utility method do not declare a generic return type yet... in contrast to the reflective variant.