返回在這個例子中:Spring AOP的 - 進行代理對象從方法
public class ConnectionPool {
public java.sql.Connection getConnection() {
...
}
}
@Bean
@Scope("singleton")
public ConnectionPool connectionPool(...) throws Exception {
return new ConnectionPoolImpl(...);
}
我想監視Connection對象上調用java.sql.Connection.close()從返回的getConnection()。
我嘗試將@Lookup
添加到getConnection()方法,但它沒有效果。
如何讓Spring代理java.sql.Connection對象?
監控器返回的代理和做什麼? –
監視,並添加一個切入點。我正在寫一個泄漏檢測器,檢查每個HTTP請求後所有連接都返回到池中。 – bcoughlan
這不是Spring可以獨立完成的事情,假設'getConnection'返回由您的代碼管理的'Connection'對象。你需要用'@ AfterReturning'或'@ Around'的建議攔截'getConnection'。然後你需要實現這個建議來包裝在某個委託對象中返回的Connection對象(或者構建一個代理),只攔截它的'close'方法,並進行檢測。 –