Я работаю над приложением Spring Boot, и я пишу базу данных HealthIndicator. Я встречаю трудности, чтобы получить как объект Явы источника данных, описанные в моей application.yml:Получить источник данных из файла конфигурации
datasource:
driverClassName: org.postgresql.Driver
jdbcUrl: jdbc:postgresql://10.26.80.192/myDB
username: postgres
password:
код Java Я попытался это:
@Component
public class DBHealthIndicator extends AbstractHealthIndicator {
@Bean(name="getDataSource")
@ConfigurationProperties(prefix="datasource")
@Primary
public DataSource getDataSource() {
return DataSourceBuilder.create().build();
}
public DBHealthIndicator() {
super();
}
private boolean result = false;
@Bean
@Primary
public DataSourceHealthIndicator dbHealthIndicator() {
return new DataSourceHealthIndicator(getDataSource(), "SELECT * FROM USERS");
}
@Override
protected void doHealthCheck(Health.Builder builder) throws Exception {
Health h = dbHealthIndicator().health();
Status status = h.getStatus();
if (status != null && "DOWN".equals(status.getCode())) {
result = false;
} else {
result = true;
}
}
public boolean isResult() {
return result;
}
public void setResult(boolean result) {
this.result = result;
}
}
Ошибки я получаю:
java.sql.SQLException: The url cannot be null
at java.sql.DriverManager.getConnection(DriverManager.java:649)
at java.sql.DriverManager.getConnection(DriverManager.java:208)
.....
'jdbcUrl' должно быть' url', no? – baao
Благодарим вас за ответ. Я не написал этот файл конфигурации. Мой коллега сделал, и файл conf не вызвал ошибок до сих пор – user3002512
Вы пытались его изменить? Ошибка указывает, что URL-адрес источника данных отсутствует. Ошибка не похожа на остальную часть вашего кода. – baao