Spring Cloud 故障排除技巧

2024-01-09 17:59 更新

連接問(wèn)題

如果您無(wú)法連接到數(shù)據(jù)庫(kù)并看到無(wú)休止的Connecting to Cloud SQL instance […?] on IP […?]循環(huán),則可能會(huì)以低于記錄器級(jí)別的級(jí)別引發(fā)和記錄異常。如果您的記錄器設(shè)置為INFO或更高級(jí)別,則HikariCP可能就是這種情況。

要查看后臺(tái)發(fā)生了什么,您應(yīng)該在應(yīng)用程序資源文件夾中添加一個(gè)logback.xml文件,如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <include resource="org/springframework/boot/logging/logback/base.xml"/>
  <logger name="com.zaxxer.hikari.pool" level="DEBUG"/>
</configuration>

c.g.cloud.sql.core.SslSocketFactory : Re-throwing cached exception due to attempt to refresh instance information too soon after error這樣的錯(cuò)誤

如果您在循環(huán)中看到很多類(lèi)似這樣的錯(cuò)誤并且無(wú)法連接到數(shù)據(jù)庫(kù),則通常這是一種征兆,表明在您的憑據(jù)權(quán)限下存在某些錯(cuò)誤,或者未啟用Google Cloud SQL API。驗(yàn)證是否已在Cloud Console中啟用了Google Cloud SQL API,并且您的服務(wù)帳戶具有必要的IAM角色

要找出導(dǎo)致問(wèn)題的原因,您可以如上所述啟用DEBUG日志記錄級(jí)別

PostgreSQL:java.net.SocketException: already connected問(wèn)題

如果您的Maven項(xiàng)目的父級(jí)是spring-boot版本1.5.x,或者在任何其他情況下會(huì)導(dǎo)致org.postgresql:postgresql依賴項(xiàng)的版本較舊(例如, ,9.4.1212.jre7)。

要解決此問(wèn)題,請(qǐng)以正確的版本重新聲明依賴項(xiàng)。例如,在Maven中:

<dependency>
  <groupId>org.postgresql</groupId>
  <artifactId>postgresql</artifactId>
  <version>42.1.1</version>
</dependency>


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)