簡體   English   中英

防止數據庫未連接時 Spring Boot 應用程序啟動失敗

[英]Prevent Spring Boot app start from failing when database does not connect

我有一個連接到 postgres 實例的 Spring Boot 應用程序。 我的 application.properties 看起來像這樣:

spring.datasource.url=${POSTGRES_URL}
spring.datasource.username=${POSTGRES_USERNAME}
spring.datasource.password=${POSTGRES_PASSWORD}

我沒有任何手動建立數據庫連接的代碼,Spring 會自動完成這一切。 我的問題是當應用程序無法連接到數據庫時,應用程序根本無法啟動。 如何使成功的數據庫連接不是應用程序啟動的條件?

您可以在道具文件spring.datasource.continue-on-error=true 中設置它

您通常在應用程序之外的啟動腳本中執行此操作。 只有在您的依賴項運行后才啟動它。 我不知道你是在容器化還是什么,但https://docs.docker.com/compose/compose-file/#depends_on應該給你一個想法。

也就是說,在啟動ApplicationContext之前,您當然可以在public static void main(String... args)方法中實現完全執行此操作的代碼,例如,通過嘗試通過普通 JDBC 連接來檢查 PostGres 是否已啟動。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM