Można to zrobić na wiele sposobów.Pierwszy:
-
DataSource to interfejs, więc dlaczego nie zaimplementujesz go sam (użyj wzorca Proxy)? Utwórz coś takiego:
class MyDataSource implements DataSource { private DataSource realDataSource; public Connection getConnection() { Connection c = realDataSource.getConnection(); // do whatever you want to do and return c; } }
Wszystkie inne metody będą delegować bezpośrednio do realDataSource.
Ten serwer proxy może być użyty w dostarczonym fragmencie kodu.
-
Możesz użyć jakiegoś AOP - po prostu podaj radę, że po utworzeniu połączenia uruchomi się i zrobi wszystko, czego potrzebujesz. Zasadniczo jest to ten sam serwer proxy, ale automatycznie tworzony przez Spring.