Как запустить сервер Spring, даже если база данных не работает?

Я использую Spring Boot (1.4.7) и MyBatis.

spring.main1.datasource.url=jdbc:mariadb://192.168.0.11:3306/testdb?useUnicode=true&characterEncoding=utf8&autoReconnect=true&socketTimeout=5000&connectTimeout=3000
spring.main1.datasource.username=username
spring.main1.datasource.password=password
spring.main1.datasource.driverClassName=org.mariadb.jdbc.Driver
spring.main1.datasource.tomcat.test-on-borrow=true
spring.main1.datasource.tomcat.test-while-idle=true
spring.main1.datasource.tomcat.validation-query=SELECT 1
spring.main1.datasource.tomcat.validation-query-timeout=5000
spring.main1.datasource.tomcat.validation-interval=5000
spring.main1.datasource.tomcat.max-wait=5000
spring.main1.datasource.continue-on-error=true

Я не могу запустить программу с ошибками, когда база данных отключена на сервере Eclipse или Linux. (База данных не находится на локальном хосте.)

Когда я пытаюсь запустить программу с отключенной базой данных, распечатайте это.

java.sql.SQLNonTransientConnectionException: Could not connect to address=(host=192.168.0.11)(port=3306)(type=master) : connect timed out
Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is java.sql.SQLNonTransientConnectionException: Could not connect to address=(host=192.168.0.11)(port=3306)(type=master) : connect timed out
Stopping service [Tomcat]
Application startup failed

Там в любом случае?

Спасибо

Ответ 1

Вы можете установить:

spring.datasource.continue-on-error=true

в вашем приложении. свойства.

Согласно руководству пользователя Spring Boot 2.1.8:

По умолчанию Spring Boot включает функцию быстрого отказа в инициализаторе Spring JDBC. Это означает, что, если сценарии вызывают исключения, приложение не запускается. Вы можете настроить это поведение, установив spring.datasource.continue-on-error

Ответ 2

Вам нужно добавить

spring.jpa.database-platform=org.hibernate.dialect.MySQL5Dialect

чтобы заставить это работать