diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/redis/RedisAutoConfiguration.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/redis/RedisAutoConfiguration.java index 056966b8d0..d1d0596c47 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/redis/RedisAutoConfiguration.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/redis/RedisAutoConfiguration.java @@ -39,7 +39,7 @@ import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.StringRedisTemplate; /** - * {@link EnableAutoConfiguration Auto-configuration} for Spring Data's redis support. + * {@link EnableAutoConfiguration Auto-configuration} for Spring Data's Redis support. * * @author Dave Syer */ @@ -99,9 +99,7 @@ public class RedisAutoConfiguration { private PoolConfig poolConfig() { PoolConfig pool = new PoolConfig(); - // FQCN to avoid bizarre compiler error on command line build (!?) - org.springframework.boot.autoconfigure.redis.RedisAutoConfiguration.RedisProperties.Pool props = this.config - .getPool(); + RedisProperties.Pool props = this.config.getPool(); if (props != null) { pool.setMaxActive(props.getMaxActive()); pool.setMaxIdle(props.getMaxIdle()); @@ -185,9 +183,13 @@ public class RedisAutoConfiguration { } public static class Pool { + private int maxIdle = 8; + private int minIdle = 0; + private int maxActive = 8; + private int maxWait = -1; public int getMaxIdle() { diff --git a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/orm/jpa/AbstractJpaAutoConfigurationTests.java b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/orm/jpa/AbstractJpaAutoConfigurationTests.java index 106957b7ff..142c980260 100644 --- a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/orm/jpa/AbstractJpaAutoConfigurationTests.java +++ b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/orm/jpa/AbstractJpaAutoConfigurationTests.java @@ -28,7 +28,6 @@ import org.springframework.boot.autoconfigure.ComponentScanDetectorConfiguration import org.springframework.boot.autoconfigure.PropertyPlaceholderAutoConfiguration; import org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration; import org.springframework.boot.autoconfigure.jdbc.EmbeddedDataSourceConfiguration; -import org.springframework.boot.autoconfigure.orm.jpa.AbstractJpaAutoConfigurationTests.TestConfigurationWithTransactionManager.CustomJpaTransactionManager; import org.springframework.boot.autoconfigure.orm.jpa.test.City; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext; @@ -43,7 +42,7 @@ import org.springframework.orm.jpa.support.OpenEntityManagerInViewInterceptor; import org.springframework.transaction.PlatformTransactionManager; import org.springframework.web.context.support.AnnotationConfigWebApplicationContext; -import static org.hamcrest.CoreMatchers.*; +import static org.hamcrest.CoreMatchers.instanceOf; import static org.hamcrest.Matchers.equalTo; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; @@ -135,36 +134,37 @@ public abstract class AbstractJpaAutoConfigurationTests { assertThat(map.get("a"), equalTo((Object) "b")); assertThat(map.get("c"), equalTo((Object) "d")); } - + @Test public void usesManuallyDefinedEntityManagerFactoryBeanIfAvailable() { - + setupTestConfiguration(TestConfigurationWithEntityManagerFactory.class); this.context.refresh(); - - LocalContainerEntityManagerFactoryBean factoryBean = this.context.getBean(LocalContainerEntityManagerFactoryBean.class); + + LocalContainerEntityManagerFactoryBean factoryBean = this.context + .getBean(LocalContainerEntityManagerFactoryBean.class); Map map = factoryBean.getJpaPropertyMap(); - assertThat(map.get("configured"), is((Object) "manually")); + assertThat(map.get("configured"), equalTo((Object) "manually")); } - + @Test public void usesManuallyDefinedTransactionManagerBeanIfAvailable() { - + setupTestConfiguration(TestConfigurationWithTransactionManager.class); this.context.refresh(); - - PlatformTransactionManager txManager = this.context.getBean(PlatformTransactionManager.class); - assertThat(txManager, is(instanceOf(CustomJpaTransactionManager.class))); + + PlatformTransactionManager txManager = this.context + .getBean(PlatformTransactionManager.class); + assertThat(txManager, instanceOf(CustomJpaTransactionManager.class)); } protected void setupTestConfiguration() { setupTestConfiguration(TestConfiguration.class); } - + protected void setupTestConfiguration(Class configClass) { - - this.context.register(configClass, - ComponentScanDetectorConfiguration.class, + + this.context.register(configClass, ComponentScanDetectorConfiguration.class, EmbeddedDataSourceConfiguration.class, PropertyPlaceholderAutoConfiguration.class, getAutoConfigureClass()); } @@ -188,33 +188,36 @@ public abstract class AbstractJpaAutoConfigurationTests { return new OpenEntityManagerInViewFilter(); } } - + @Configuration - protected static class TestConfigurationWithEntityManagerFactory extends TestConfiguration { - + protected static class TestConfigurationWithEntityManagerFactory extends + TestConfiguration { + @Bean - public LocalContainerEntityManagerFactoryBean entityManagerFactory(DataSource dataSource, JpaVendorAdapter adapter) { - + public LocalContainerEntityManagerFactoryBean entityManagerFactory( + DataSource dataSource, JpaVendorAdapter adapter) { + LocalContainerEntityManagerFactoryBean factoryBean = new LocalContainerEntityManagerFactoryBean(); factoryBean.setJpaVendorAdapter(adapter); factoryBean.setDataSource(dataSource); factoryBean.setPersistenceUnitName("manually-configured"); - factoryBean.setJpaPropertyMap(Collections.singletonMap("configured", "manually")); + factoryBean.setJpaPropertyMap(Collections.singletonMap("configured", + "manually")); return factoryBean; } } - + @Configuration @ComponentScan(basePackageClasses = { City.class }) protected static class TestConfigurationWithTransactionManager { - + @Bean public PlatformTransactionManager transactionManager() { return new CustomJpaTransactionManager(); } - - static class CustomJpaTransactionManager extends JpaTransactionManager { - - } + + } + + static class CustomJpaTransactionManager extends JpaTransactionManager { } } diff --git a/spring-boot-samples/spring-boot-sample-data-redis/src/test/java/sample/data/redis/SampleRedisApplicationTests.java b/spring-boot-samples/spring-boot-sample-data-redis/src/test/java/sample/data/redis/SampleRedisApplicationTests.java index cd9f8c0b24..9936f4ad03 100644 --- a/spring-boot-samples/spring-boot-sample-data-redis/src/test/java/sample/data/redis/SampleRedisApplicationTests.java +++ b/spring-boot-samples/spring-boot-sample-data-redis/src/test/java/sample/data/redis/SampleRedisApplicationTests.java @@ -16,15 +16,12 @@ package sample.data.redis; -import static org.junit.Assert.assertTrue; - -import java.io.IOException; - import org.junit.Rule; import org.junit.Test; import org.springframework.boot.OutputCapture; -import sample.data.redis.SampleRedisApplication; -import org.springframework.core.NestedCheckedException; +import org.springframework.data.redis.RedisConnectionFailureException; + +import static org.junit.Assert.assertTrue; /** * Tests for {@link SampleRedisApplication}. @@ -42,7 +39,7 @@ public class SampleRedisApplicationTests { SampleRedisApplication.main(new String[0]); } catch (IllegalStateException ex) { - if (serverNotRunning(ex)) { + if (!redisServerRunning(ex)) { return; } } @@ -51,17 +48,11 @@ public class SampleRedisApplicationTests { output.contains("Found key spring.boot.redis.test")); } - private boolean serverNotRunning(IllegalStateException e) { - @SuppressWarnings("serial") - NestedCheckedException nested = new NestedCheckedException("failed", e) { - }; - if (nested.contains(IOException.class)) { - Throwable root = nested.getRootCause(); - if (root.getMessage().contains("couldn't connect to [localhost")) { - return true; - } + private boolean redisServerRunning(Throwable ex) { + System.out.println(ex.getMessage()); + if (ex instanceof RedisConnectionFailureException) { + return false; } - return false; + return (ex.getCause() == null || redisServerRunning(ex.getCause())); } - }