From 7e579d3652348bced7a3cf463b3c89089aebadf9 Mon Sep 17 00:00:00 2001 From: Dave Syer Date: Fri, 5 Jul 2013 12:03:58 +0100 Subject: [PATCH] Revert strange looking DataSource chamge --- .../src/main/resources/logging.properties | 8 ++--- ...dressServiceBootstrapApplicationTests.java | 2 +- ...ementServiceBootstrapApplicationTests.java | 2 +- .../jdbc/DataSourceAutoConfiguration.java | 4 +-- .../DataSourceAutoConfigurationTests.java | 30 +++++++++++++++++++ 5 files changed, 38 insertions(+), 8 deletions(-) diff --git a/spring-bootstrap-samples/spring-bootstrap-actuator-sample/src/main/resources/logging.properties b/spring-bootstrap-samples/spring-bootstrap-actuator-sample/src/main/resources/logging.properties index ce0a373cc5..a494d4cad7 100644 --- a/spring-bootstrap-samples/spring-bootstrap-actuator-sample/src/main/resources/logging.properties +++ b/spring-bootstrap-samples/spring-bootstrap-actuator-sample/src/main/resources/logging.properties @@ -1,7 +1,7 @@ handlers = java.util.logging.ConsoleHandler .level = INFO -java.util.logging.ConsoleHandler.level = FINE -sun.net.www.protocol.http.HttpURLConnection.level = ALL -org.springframework.bootstrap.level = ALL -org.springframework.security.level = ALL +#java.util.logging.ConsoleHandler.level = FINE +#sun.net.www.protocol.http.HttpURLConnection.level = ALL +#org.springframework.bootstrap.level = ALL +#org.springframework.security.level = ALL diff --git a/spring-bootstrap-samples/spring-bootstrap-actuator-sample/src/test/java/org/springframework/bootstrap/sample/test/ManagementAddressServiceBootstrapApplicationTests.java b/spring-bootstrap-samples/spring-bootstrap-actuator-sample/src/test/java/org/springframework/bootstrap/sample/test/ManagementAddressServiceBootstrapApplicationTests.java index 81de070e9f..bf5f256b5e 100644 --- a/spring-bootstrap-samples/spring-bootstrap-actuator-sample/src/test/java/org/springframework/bootstrap/sample/test/ManagementAddressServiceBootstrapApplicationTests.java +++ b/spring-bootstrap-samples/spring-bootstrap-actuator-sample/src/test/java/org/springframework/bootstrap/sample/test/ManagementAddressServiceBootstrapApplicationTests.java @@ -55,7 +55,7 @@ public class ManagementAddressServiceBootstrapApplicationTests { .run(ServiceBootstrapApplication.class, args); } }); - context = future.get(10, TimeUnit.SECONDS); + context = future.get(30, TimeUnit.SECONDS); } @AfterClass diff --git a/spring-bootstrap-samples/spring-bootstrap-actuator-sample/src/test/java/org/springframework/bootstrap/sample/test/ManagementServiceBootstrapApplicationTests.java b/spring-bootstrap-samples/spring-bootstrap-actuator-sample/src/test/java/org/springframework/bootstrap/sample/test/ManagementServiceBootstrapApplicationTests.java index 5f2e538e4f..1ff3268e84 100644 --- a/spring-bootstrap-samples/spring-bootstrap-actuator-sample/src/test/java/org/springframework/bootstrap/sample/test/ManagementServiceBootstrapApplicationTests.java +++ b/spring-bootstrap-samples/spring-bootstrap-actuator-sample/src/test/java/org/springframework/bootstrap/sample/test/ManagementServiceBootstrapApplicationTests.java @@ -47,7 +47,7 @@ public class ManagementServiceBootstrapApplicationTests { .run(ServiceBootstrapApplication.class, args); } }); - context = future.get(10, TimeUnit.SECONDS); + context = future.get(30, TimeUnit.SECONDS); } @AfterClass diff --git a/spring-bootstrap/src/main/java/org/springframework/bootstrap/autoconfigure/jdbc/DataSourceAutoConfiguration.java b/spring-bootstrap/src/main/java/org/springframework/bootstrap/autoconfigure/jdbc/DataSourceAutoConfiguration.java index 486c5fa14c..b7cb1090a0 100644 --- a/spring-bootstrap/src/main/java/org/springframework/bootstrap/autoconfigure/jdbc/DataSourceAutoConfiguration.java +++ b/spring-bootstrap/src/main/java/org/springframework/bootstrap/autoconfigure/jdbc/DataSourceAutoConfiguration.java @@ -58,7 +58,7 @@ import org.springframework.util.StringUtils; */ @Configuration @ConditionalOnClass(EmbeddedDatabaseType.class /* Spring JDBC */) -// @ConditionalOnMissingBean(DataSource.class) +@ConditionalOnMissingBean(DataSource.class) public class DataSourceAutoConfiguration { // FIXME see above @@ -109,7 +109,7 @@ public class DataSourceAutoConfiguration { } // FIXME: DB platform - @Value("${spring.database.schema:classpath*:schema.sql}") + @Value("${spring.database.schema:classpath*:schema-${spring.database.platform:all}.sql}") private String schemaLocations = ""; @PostConstruct diff --git a/spring-bootstrap/src/test/java/org/springframework/bootstrap/autoconfigure/jdbc/DataSourceAutoConfigurationTests.java b/spring-bootstrap/src/test/java/org/springframework/bootstrap/autoconfigure/jdbc/DataSourceAutoConfigurationTests.java index e4d96117a8..aa8cde1b99 100644 --- a/spring-bootstrap/src/test/java/org/springframework/bootstrap/autoconfigure/jdbc/DataSourceAutoConfigurationTests.java +++ b/spring-bootstrap/src/test/java/org/springframework/bootstrap/autoconfigure/jdbc/DataSourceAutoConfigurationTests.java @@ -21,9 +21,12 @@ import java.util.Map; import javax.sql.DataSource; +import org.apache.commons.dbcp.BasicDataSource; import org.junit.Test; import org.springframework.bootstrap.autoconfigure.PropertyPlaceholderAutoConfiguration; import org.springframework.context.annotation.AnnotationConfigApplicationContext; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; import org.springframework.core.env.MapPropertySource; import org.springframework.jdbc.core.JdbcOperations; import org.springframework.jdbc.core.JdbcTemplate; @@ -49,6 +52,17 @@ public class DataSourceAutoConfigurationTests { assertNotNull(this.context.getBean(DataSource.class)); } + @Test + public void testDefaultDataSourceCanBeOverridden() throws Exception { + this.context.register(TestDataSourceConfiguration.class, + DataSourceAutoConfiguration.class, + PropertyPlaceholderAutoConfiguration.class); + this.context.refresh(); + DataSource dataSource = this.context.getBean(DataSource.class); + assertTrue("DataSource is wrong type: " + dataSource, + dataSource instanceof BasicDataSource); + } + @Test public void testJdbcTemplateExists() throws Exception { this.context.register(DataSourceAutoConfiguration.class, @@ -85,4 +99,20 @@ public class DataSourceAutoConfigurationTests { template.queryForObject("SELECT COUNT(*) from FOO", Integer.class)); } + @Configuration + static class TestDataSourceConfiguration { + + private BasicDataSource pool; + + @Bean + public DataSource dataSource() { + this.pool = new BasicDataSource(); + this.pool.setDriverClassName("org.hsqldb.jdbcDriver"); + this.pool.setUrl("jdbc:hsqldb:overridedb"); + this.pool.setUsername("sa"); + return this.pool; + } + + } + }