Перехватчик это шаблон программного дизайна, который обеспечивает прозрачный способ расширить или изменить некоторый аспект программы, подобный пользовательскому выходу. Никакое перекомпилирование не требуется. С Connector/J перехватчики включаются и выключаются обновением строки подключения, чтобы относиться к различным наборам классов перехватчика, которые вы используете.
Свойства связи, которые управляют перехватчиками, объяснены в разделе 6.3:
connectionLifecycleInterceptors
,
где вы определяете полностью определенные имена классов, которые осуществляют
интерфейс com.mysql.cj.jdbc.interceptors.ConnectionLifecycleInterceptor
. В этих видах классов перехватчика вы могли бы зарегистрировать
события, такие как отмены транзакций, измерить время между началом и концом
транзакции или посчитать события, такие как вызовы
setAutoCommit()
.
exceptionInterceptors
,
где вы определяете полностью определенные имена классов, которые осуществляют
интерфейс com.mysql.cj.exceptions.ExceptionInterceptor
. В этих видах классов перехватчика вы могли бы добавить
дополнительную диагностическую информацию к исключениям, которые могут иметь
многократные причины или указать на проблему с параметрами настройки сервера.
Классы exceptionInterceptors
вызывают, обращаясь к Exception
из кода Connector/J.
queryInterceptors
,
где вы определяете полностью определенные имена классов, которые осуществляют
интерфейс com.mysql.cj.interceptors.QueryInterceptor
. В этих видах классов перехватчика вы могли бы изменить или увеличить
обработку, сделанную определенными видами запросов, такими как автоматическая
проверка запрашиваемых данных в сервере
a memcached,
переписывание медленных запросов, регистрация информации о выполнении
запросов или маршрутизация запросов