Hay muchas formas de hacerlo. La primera:
-
DataSource es una interfaz, entonces, ¿por qué no la implementa usted mismo (usando el patrón Proxy)? Crea algo como esto:
class MyDataSource implements DataSource { private DataSource realDataSource; public Connection getConnection() { Connection c = realDataSource.getConnection(); // do whatever you want to do and return c; } }
Todos los demás métodos se delegarán directamente a realDataSource.
Este proxy se puede utilizar en un fragmento de código proporcionado.
-
Puede usar algo de AOP:solo proporcione un consejo que después de que se cree la conexión se ejecutará y hará lo que necesite allí. Básicamente es el mismo proxy pero creado automáticamente por Spring.