From 039942b22f117a0136bb2367bebb8ab9ecde29b8 Mon Sep 17 00:00:00 2001 From: Brett Wooldridge Date: Sun, 17 Nov 2024 02:29:52 +0900 Subject: [PATCH] Update README.md --- README.md | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 92124fa8..641101bf 100644 --- a/README.md +++ b/README.md @@ -341,7 +341,7 @@ is disabled. Lowest acceptable value for enabling leak detection is 2000 (2 sec *Default: 0* ➡``dataSource``
-This property is only available via programmatic configuration or IoC container. This property +This property is only available via programmatic configuration or IoC container. This property allows you to directly set the instance of the ``DataSource`` to be wrapped by the pool, rather than having HikariCP construct it via reflection. This can be useful in some dependency injection frameworks. When this property is specified, the ``dataSourceClassName`` property and all @@ -354,19 +354,36 @@ If this property is not specified, the default schema defined by the JDBC driver *Default: driver default* ➡``threadFactory``
-This property is only available via programmatic configuration or IoC container. This property +This property is only available via programmatic configuration or IoC container. This property allows you to set the instance of the ``java.util.concurrent.ThreadFactory`` that will be used for creating all threads used by the pool. It is needed in some restricted execution environments where threads can only be created through a ``ThreadFactory`` provided by the application container. *Default: none* ➡``scheduledExecutor``
-This property is only available via programmatic configuration or IoC container. This property +This property is only available via programmatic configuration or IoC container. This property allows you to set the instance of the ``java.util.concurrent.ScheduledExecutorService`` that will be used for various internally scheduled tasks. If supplying HikariCP with a ``ScheduledThreadPoolExecutor`` instance, it is recommended that ``setRemoveOnCancelPolicy(true)`` is used. *Default: none* +➡``exceptionOverride``
+This property is only available via programmatic configuration or IoC container. This property +allows you to set an instance of a class, implementing the ``com.zaxxer.hikari.SQLExceptionOverride`` +interface, that will be called before a connection is evicted from the pool due to specific exception +conditions. Typically, when a ``SQLException`` is throw with specific *SQLStates* or *ErrorCodes* are +present. The ``adjudicate()`` method will be called on the ``SQLExceptionOverride`` instance, which +may return either ``Override.CONTINUE_EVICT`` or ``Override.DO_NOT_EVICT``. Except in very specific +cases ``Override.CONTINUE_EVICT`` should be returned. +*Default: none* + +🔤``exceptionOverrideClassName``
+This property allows you to specify the name of a user-supplied class implementing the +``com.zaxxer.hikari.SQLExceptionOverride`` interface. An instance of the class will be instantiated +by the pool to adjudicate connection evictions. See the above property ``exceptionOverride`` for a +full description. +*Default: none* + ---------------------------------------------------- #### Missing Knobs