Attempt to fix failing CI build
This commit is contained in:
@@ -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() {
|
||||
|
||||
@@ -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<String, Object> 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 {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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()));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user