在我的應用程式屬性中,我有
spring.datasource.hikari.connection-timeout=10000
spring.datasource.hikari.validation-timeout=3000
spring.datasource.hikari.leak-detection-threshold=90000
spring.datasource.hikari.max-lifetime=3600000
我有兩個資料源將使用相同的配置屬性
@ConfigurationProperties(prefix = "spring.datasource.hikari")
@Bean
public HikariDataSource dataSource() throws Exception {
@ConfigurationProperties(prefix = "spring.datasource.hikari")
@Bean
public HikariDataSource altDataSource() throws Exception {
一周前它還在作業,但現在我在清理和構建時遇到錯誤:
> Task :compileJava
error: Duplicate `@ConfigurationProperties` definition for prefix 'spring.datasource.hikari'
public HikariDataSource altDataSource() throws Exception {
我在這里閱讀了一些不同的解決方案,但是除了編輯我的屬性檔案之外還有其他解決方法嗎?因為這是一周前的作業,這可能是 IDE 問題嗎?
uj5u.com熱心網友回復:
像這樣使用 Spring 組態檔
class SomeOtherProfileConfig extends MyConfig {
}
@Profile("MyProfile")
@Bean(initMethod = "init", name = "MyConfig")
@ConfigurationProperties(prefix = "config")
public MyConfig config() {
MyConfig config = new MyConfig();
return config;
}
@Profile("!MyProfile")
@Bean(initMethod = "anotherInit", name = "MyConfig")
@ConfigurationProperties(prefix = "config")
public SomeOtherProfileConfig myConfig() {
SomeOtherProfileConfig config = new SomeOtherProfileConfig();
return config;
}
uj5u.com熱心網友回復:
你應該這樣做
我將這兩種
@Bean方法合二為一,并使用 Environment 檢查spring.datasource.hikari.refresh屬性的值,然后根據需要設定 Hikari 系統屬性。
來源:https : //github.com/spring-projects/spring-boot/issues/6781#issuecomment-857624340
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/360881.html
