pgjdbc-ng抛出神秘的ServiceLoader错误

时间:2019-08-23 20:17:09

标签: postgresql hikaricp pgjdbc-ng

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

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个连接。如果失败,则只有一个。

0 个答案:

没有答案