Skip to content

Commit 47124f4

Browse files
committed
Improve conditions on DataSourcePluginConfiguration
Closes gh-859
1 parent 7635528 commit 47124f4

2 files changed

Lines changed: 9 additions & 2 deletions

File tree

grace-plugin-datasource/src/main/groovy/org/grails/plugins/datasource/DataSourcePluginConfiguration.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ public ConnectionSources<DataSource, DataSourceSettings> dataSourceConnectionSou
8888
@Bean
8989
@Primary
9090
@ConditionalOnMissingBean
91-
@ConditionalOnProperty(prefix = "dataSource", name = "url")
91+
@ConditionalOnProperty(name = "dataSource.url")
9292
public DataSource dataSource(ConnectionSources<DataSource, DataSourceSettings> dataSourceConnectionSources) {
9393
return dataSourceConnectionSources.getDefaultConnectionSource().getSource();
9494
}
@@ -105,7 +105,7 @@ static final class GrailsDataSourceCondition extends AnyNestedCondition {
105105
super(ConfigurationPhase.REGISTER_BEAN);
106106
}
107107

108-
@ConditionalOnProperty(name = "dataSource")
108+
@ConditionalOnProperty(name = "dataSource.url")
109109
private static final class DataSourceUrlCondition {
110110

111111
}

grace-plugin-datasource/src/test/groovy/org/grails/plugins/datasource/DataSourcePluginConfigurationTests.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,13 @@ void defaultDataSource() {
5252
assertThat(this.context.getBean(DataSource.class)).isNotNull();
5353
}
5454

55+
@Test
56+
void multiDataSources() {
57+
registerAndRefreshContext("dataSources=", "dataSources.moreBooks.url:jdbc:h2:mem:moreBooks;LOCK_TIMEOUT=10000;DB_CLOSE_ON_EXIT=FALSE",
58+
"dataSources.evenMoreBooks.url:jdbc:h2:mem:evenMoreBooks;LOCK_TIMEOUT=10000;DB_CLOSE_ON_EXIT=FALSE");
59+
assertThat(this.context.getBeansOfType(DataSource.class)).hasSize(2);
60+
}
61+
5562
private void registerAndRefreshContext(String... env) {
5663
TestPropertyValues.of(env).applyTo(this.context);
5764
this.context.registerBean("grailsApplication", TestGrailsApplication.class, this.context);

0 commit comments

Comments
 (0)