连接器和 API 手册  / 第 3 章 MySQL Connector/J 开发人员指南  /  3.10 使用连接器/J 拦截器类

3.10 使用连接器/J 拦截器类

拦截器是一种软件设计模式,它提供了一种透明的方式来扩展或修改程序的某些方面,类似于用户出口。无需重新编译。使用 Connector/J,通过更新连接字符串以引用您实例化的不同拦截器类集来启用和禁用拦截器。

控制拦截器的连接属性在 第 3.5.3 节“配置属性”中进行了解释:

  • connectionLifecycleInterceptors,您可以在其中指定实现该 com.mysql.cj.jdbc.interceptors.ConnectionLifecycleInterceptor 接口的类的完全限定名称。在这些类型的拦截器类中,您可能会记录回滚等事件,测量事务开始和结束之间的时间,或者对调用 setAutoCommit().

  • exceptionInterceptors,您可以在其中指定实现该 com.mysql.cj.exceptions.ExceptionInterceptor 接口的类的完全限定名称。在这些类型的拦截器类中,您可能会向可能有多种原因或表明服务器设置有问题的异常添加额外的诊断信息。 在处理从 Connector/J 代码抛出 的异常exceptionInterceptors时调用类。Exception

  • queryInterceptors,您可以在其中指定实现该 com.mysql.cj.interceptors.QueryInterceptor 接口的类的完全限定名称。在这些类型的拦截器类中,您可能会更改或增加某些类型的语句完成的处理,例如自动检查内存缓存服务器中的查询数据、重写慢速查询、记录有关语句执行的信息或将请求路由到远程服务器。