1

我的日志中出现了一个非常奇怪的错误。这只是随机发生的,并不是由任何版本升级触发的。

2019-08-23 14:49:41.150 ccleves-mac-mini.local com.zaxxer.hikari.HikariDataSource 7177 INFO  HikariPool-2 - Starting...
2019-08-23 14:49:41.150 ccleves-mac-mini.local com.zaxxer.hikari.HikariDataSource 7177 INFO  HikariPool-1 - Starting...
2019-08-23 14:49:41.150 ccleves-mac-mini.local com.zaxxer.hikari.HikariDataSource 7177 INFO  HikariPool-3 - Starting...
2019-08-23 14:49:41.676 ccleves-mac-mini.local com.zaxxer.hikari.pool.HikariPool 7703 ERROR HikariPool-3 - Error thrown while acquiring connection from data source
java.util.NoSuchElementException: null
    at sun.misc.CompoundEnumeration.nextElement(CompoundEnumeration.java:59)
    at java.util.ServiceLoader$LazyIterator.hasNextService(ServiceLoader.java:357)
    at java.util.ServiceLoader$LazyIterator.hasNext(ServiceLoader.java:393)
    at java.util.ServiceLoader$1.hasNext(ServiceLoader.java:474)
    at com.impossibl.postgres.system.procs.Procs.loadDecoderProc(Procs.java:107)
    at com.impossibl.postgres.system.procs.Procs.loadNamedBinaryCodec(Procs.java:83)
    at com.impossibl.postgres.types.BaseType.<init>(BaseType.java:46)
    at com.impossibl.postgres.types.BaseType.<init>(BaseType.java:50)
    at com.impossibl.postgres.types.SharedRegistry.<init>(SharedRegistry.java:123)
    at com.impossibl.postgres.jdbc.PGDriver.lambda$connect$0(PGDriver.java:106)
    at java.util.HashMap.computeIfAbsent(HashMap.java:1127)
    at com.impossibl.postgres.jdbc.PGDriver.lambda$connect$1(PGDriver.java:106)
    at com.impossibl.postgres.system.BasicContext.init(BasicContext.java:303)
    at com.impossibl.postgres.jdbc.PGDirectConnection.init(PGDirectConnection.java:276)
    at com.impossibl.postgres.jdbc.ConnectionUtil.createConnection(ConnectionUtil.java:205)
    at com.impossibl.postgres.jdbc.ConnectionUtil.createConnection(ConnectionUtil.java:165)
    at com.impossibl.postgres.jdbc.PGDriver.connect(PGDriver.java:113)
    at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:121)
    at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:353)
    at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201)
    at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:473)
    at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:562)
    at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:115)
    at com.zaxxer.hikari.HikariDataSource.<init>(HikariDataSource.java:81)

更奇怪的是:当我在 Eclipse 中开发应用程序时会发生这种情况。如果我停止应用程序然后在 Eclipse 中重新启动,它就会发生。如果我完全关闭 Eclipse 并重新打开它,问题就会消失并且所有连接都可以正常打开。

如果我查看 Postgres 服务器上的连接,我没有发现任何不合适的地方。当它工作时,会打开 10 个连接。当它失败时,只有一个。

4

0 回答 0