Det finns många sätt att göra det på. Det första:
-
DataSource är ett gränssnitt, så varför implementerar du det inte själv (använd proxymönster)? Skapa något sånt här:
class MyDataSource implements DataSource { private DataSource realDataSource; public Connection getConnection() { Connection c = realDataSource.getConnection(); // do whatever you want to do and return c; } }
Alla andra metoder kommer att delegeras direkt till realDataSource.
Denna proxy kan användas i ett tillhandahållet kodavsnitt.
-
Du kan använda lite AOP - ge bara ett råd om att efter att anslutningen skapats kommer att köras och göra vad du behöver där. I grund och botten är det samma proxy men skapas automatiskt av Spring.