【发布时间】:2022-10-06 01:10:04
【问题描述】:
我正在使用 HikariCP,配置为传递给 HikariDataSource 的 HikariConfig bean。 环境是 Fuse 7.3 (OSGi)。
这已经工作了多年。
今天,我在日志中发现错误,显示它试图连接一些我们已经有一段时间没有使用的古老数据库 URL。
我已经搜索了代码和 OSGi 配置。那些旧的数据库 URL 无处可寻。
我唯一能想到的是池中有一些古老的连接,并且池连接字符串以某种方式保存到磁盘,并且即使在关闭和启动后也会重新加载。
但是,hikariCP 试图连接到这些旧 URL 应该是不可能的。配置引用这些 URL 已经有好几年了。
知道这可能是怎么发生的吗?
Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: The connection to the host qa01, named instance authdb failed. Error: \"java.net.SocketTimeoutException: Receive timed out\". Verify the server and instance names and check that no firewall is blocking UDP traffic to port 1434. For SQL Server 2005 or later, verify that the SQL Server Browser Service is running on the host.
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:206)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.getInstancePort(SQLServerConnection.java:5294)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.primaryPermissionCheck(SQLServerConnection.java:1859)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:1596)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:1447)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:788)
at com.microsoft.sqlserver.jdbc.SQLServerDataSource.getConnectionInternal(SQLServerDataSource.java:719)
at com.microsoft.sqlserver.jdbc.SQLServerDataSource.getConnection(SQLServerDataSource.java:71)
at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:341)
at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:193)
at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:428)
at com.zaxxer.hikari.pool.HikariPool.access$300(HikariPool.java:70)
at com.zaxxer.hikari.pool.HikariPool$PoolEntryCreator.call(HikariPool.java:612)
at com.zaxxer.hikari.pool.HikariPool$PoolEntryCreator.call(HikariPool.java:598)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
标签: osgi connection-pooling hikaricp jbossfuse