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 ce0a373cc56..a494d4cad78 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 81de070e9f6..bf5f256b5e7 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 5f2e538e4fd..1ff3268e84f 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 486c5fa14c5..b7cb1090a0f 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 e4d96117a87..aa8cde1b99b 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; + } + + } + }