Я хочу создать подкласс, который расширяет объект CallableStatement. Я хочу сделать это, чтобы переопределить методы execute и executeQuery для отслеживания некоторых метрик при каждом вызове SP.
В настоящее время у меня есть код, который выглядит следующим образом:
Connection db = poolingDataSource.getConnection();
CallableStatement cstmt = db.prepareCall("{call pSampleStoredProc()}");
ResultSet rs = cstmt.executeQuery();
где poolingDataSource из пакета apache commons dbcp. Моя реализация подключена к базе данных MySQL с помощью JDBC.
В настоящее время метод prepareCall возвращает com.mysql.jdbc.JDBC4CallableStatement. Я хотел бы иметь возможность изменить это так, чтобы он возвращал собственный класс, который расширяет JDBC4CallableStatement, но переопределяет методы execute () и executeQuery ().
Есть идеи о том, как лучше всего это сделать?