Как сделать пул соединений отказоустойчивым в Quarkus?
Я работаю над приложением Quarkus (2.16.5) с драйвером MSSqlserver и Jtds .
К сожалению, хотя я настроил свойства запроса проверки и фоновой проверки , я все еще получаю соединения в недопустимом состоянии, когда сеть отключается и восстанавливается через несколько мгновений.
Чтобы повысить надежность, есть способ (конфигурация) запретить приложению Quarkus использовать недопустимые соединения и удалить их из пула?
Ошибка
Caused by: java.sql.SQLException: Invalid state, the Connection object is closed.
at net.sourceforge.jtds.jdbc.JtdsConnection.checkOpen(JtdsConnection.java:1744)
at net.sourceforge.jtds.jdbc.JtdsConnection.prepareStatement(JtdsConnection.java:2448)
at io.agroal.pool.wrapper.ConnectionWrapper.prepareStatement(ConnectionWrapper.java:658)
at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$5.doPrepare(StatementPreparerImpl.java:149)
at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$StatementPreparationTemplate.prepareStatement(StatementPreparerImpl.java:176)
Конфигурация источника данных:
quarkus.datasource.jdbc.min-size=5
quarkus.datasource.jdbc.max-size=20
quarkus.datasource.jdbc.initial-size=5
quarkus.datasource.jdbc.acquisition-timeout=10
quarkus.datasource.jdbc.background-validation-interval=5
quarkus.datasource.jdbc.validation-query-sql=SELECT 1
quarkus.transaction-manager.default-transaction-timeout=600
quarkus.datasource.db-kind=other
quarkus.datasource.username=sa
quarkus.datasource.password=123456
quarkus.datasource.jdbc.url=jdbc:jtds:sqlserver://sqlserver-local/MYDB;
quarkus.datasource.jdbc.driver=net.sourceforge.jtds.jdbc.Driver
quarkus.hibernate-orm.dialect=org.hibernate.dialect.SQLServerDialect
Зависимости POM
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-resteasy-reactive-jsonb</artifactId>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-arc</artifactId>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-resteasy-reactive</artifactId>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-elytron-security-ldap</artifactId>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-hibernate-orm</artifactId>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-narayana-jta</artifactId>
</dependency>
<dependency>
<groupId>net.sourceforge.jtds</groupId>
<artifactId>jtds</artifactId>
<version>1.3.1</version>
</dependency>