Ada banyak cara untuk melakukannya. Yang pertama:
-
DataSource adalah sebuah antarmuka, jadi mengapa Anda tidak mengimplementasikannya sendiri (menggunakan pola Proxy)? Buat sesuatu seperti ini:
class MyDataSource implements DataSource { private DataSource realDataSource; public Connection getConnection() { Connection c = realDataSource.getConnection(); // do whatever you want to do and return c; } }
Semua metode lain akan didelegasikan langsung ke realDataSource.
Proxy ini dapat digunakan dalam cuplikan kode yang disediakan.
-
Anda dapat menggunakan beberapa AOP - cukup berikan saran bahwa setelah mendapatkan koneksi dibuat akan berjalan dan melakukan apa pun yang Anda butuhkan di sana. Pada dasarnya itu adalah proxy yang sama tetapi secara otomatis dibuat oleh Spring.