Я использую spring-integration для подключения к внешней базе данных JDBC, и я хочу отслеживать время выполнения для каждого соединения с БД.
Помимо использования Spring AOP и обертывания моего метода службы для измерения статистики, есть ли способ измерить время непосредственно в spring-integration? Имеется в виду, чтобы точно узнать, сколько подключения к базе данных использовалось для каждого запроса?
Спасибо
JDBC используется не только в Spring Integration, поэтому запрашивать такую возможность именно с точки зрения Spring Integration некорректно. Любые другие приложения без каких-либо функций интеграции также должны использовать эту функцию.
Я думаю, что то, что вы ищете, охватывается показателями БД в Spring Boot: https://docs.spring.io/spring-boot/docs/2.1.5.RELEASE/reference/htmlsingle/#production-ready-metrics-jdbc
Если вы не используете Spring Boot, рассмотрите возможность применения упомянутого HikariCP: https://github.com/brettwooldridge/HikariCP/wiki/Dropwizard-Metrics
В противном случае вы всегда можете переопределить execute(PreparedStatementCreator psc, PreparedStatementCallback<T> action)
и включить супервызов в свою собственную метрику, чтобы измерить время для этого execute()
звонка.
Спасибо за вашу помощь