diff --git a/samples/web/src/main/java/Config.java b/samples/web/src/main/java/Config.java index d813b05..5db203b 100644 --- a/samples/web/src/main/java/Config.java +++ b/samples/web/src/main/java/Config.java @@ -14,19 +14,16 @@ * the License. */ -import org.springframework.beans.factory.DisposableBean; -import org.springframework.beans.factory.InitializingBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Import; import org.springframework.data.redis.connection.jedis.JedisConnectionFactory; import org.springframework.session.data.redis.config.annotation.web.http.EnableRedisHttpSession; -import redis.clients.jedis.Protocol; -import redis.embedded.RedisServer; - /** * @author Rob Winch */ +@Import(EmbeddedRedisConfiguration.class) @Configuration @EnableRedisHttpSession public class Config { @@ -35,27 +32,4 @@ public class Config { public JedisConnectionFactory connectionFactory() throws Exception { return new JedisConnectionFactory(); } - - @Bean - public RedisServerBean redisServer() { - return new RedisServerBean(); - } - - class RedisServerBean implements InitializingBean, DisposableBean { - private RedisServer redisServer; - - - @Override - public void afterPropertiesSet() throws Exception { - redisServer = new RedisServer(Protocol.DEFAULT_PORT); - redisServer.start(); - } - - @Override - public void destroy() throws Exception { - if(redisServer != null) { - redisServer.stop(); - } - } - } } diff --git a/samples/web/src/main/java/EmbeddedRedisConfiguration.java b/samples/web/src/main/java/EmbeddedRedisConfiguration.java new file mode 100644 index 0000000..028a2d6 --- /dev/null +++ b/samples/web/src/main/java/EmbeddedRedisConfiguration.java @@ -0,0 +1,56 @@ +/* + * Copyright 2002-2014 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ +import org.springframework.beans.factory.DisposableBean; +import org.springframework.beans.factory.InitializingBean; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import redis.clients.jedis.Protocol; +import redis.embedded.RedisServer; + +/** + * Runs an embedded Redis instance. This is only necessary since we do not want + * users to have to setup a Redis instance. In a production environment, this + * would not be used since a Redis Server would be setup. + * + * @author Rob Winch + */ +@Configuration +public class EmbeddedRedisConfiguration { + + @Bean + public RedisServerBean redisServer() { + return new RedisServerBean(); + } + + class RedisServerBean implements InitializingBean, DisposableBean { + private RedisServer redisServer; + + + @Override + public void afterPropertiesSet() throws Exception { + redisServer = new RedisServer(Protocol.DEFAULT_PORT); + redisServer.start(); + } + + @Override + public void destroy() throws Exception { + if(redisServer != null) { + redisServer.stop(); + } + } + } +}