我有一个Spring Boot JPA应用程序将自己注册为Consul的微服务:
@SpringBootApplication
@EnableDiscoveryClient
@EnableAutoConfiguration
public class Bootstrapper {
public static void main(String[] args) {
SpringApplication.run(Bootstrapper.class, args);
}
}
我的application.yml看起来像这样:
spring:
datasource:
url: jdbc:mysql://localhost:3306/butler_test
username: root
password: pwd
driver-class-name: com.mysql.jdbc.Driver
jpa:
hibernate:
ddl-auto: create
database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
show-sql: false
spring:
cloud:
consul:
discovery:
healthCheckPath: /health
healthCheckInterval: 10s
但是,当Consul联系/health
端点时,我的应用程序中会抛出以下SQLException
:
“主机'172.17.0.1'不允许连接到此MySQL服务器”。
发生了什么,为什么连连接尝试?
答案 0 :(得分:0)
如果配置了数据源,健康检查端点将默认通过执行SELECT 1
来ping数据库,以确保与数据库的连接正常。如果是,则显示状态为“UP”。由于您看到错误,因此您的数据库配置可能不正确。
您可以通过在属性中配置来禁用数据源运行状况检查:
management.health.db.enabled=false
如果您要配置支票,请参阅此处:Spring Boot Actuator Health Indicator