Spring Framework에서 Session을 Redis에 저장하고 관리할 때 설정하는 방법이다.
서버 다중화 시 일반적을 Session Clustering을 다중화된 서버에 상호간 Session 정보를 동기화하기 위해 Multicast를 이용하는데 Amazon과 같은 Cloud를 사용할 경우 서버간 Multicast를 지원하지 않는다.
이 경우에 Session을 Redis에 관리하게 되는데, 본 글에서는 Spring Framework에 Redis를 이용하여 Session을 관리하는 설정 방법에 대한 설명이다.
그러나 Tomcat등 WAS가 Restart할 때 Session 정보는 Redis에 남아 있는게 되는데, 보안상에 이슈가 없을 경우 사용하면 좋을 듯 하다.
■ Configuration
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:util="http://www.springframework.org/schema/util" xmlns:cache="http://www.springframework.org/schema/cache" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd http://www.springframework.org/schema/cache http://www.springframework.org/schema/cache/spring-cache.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd">
<!-- This should not be removed --> <context:annotation-config/>
<bean class="org.springframework.session.data.redis.config.annotation.web.http.RedisHttpSessionConfiguration"/>
<bean id="lettuceConnectionFactory" class="org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory" destroy-method="destroy"> <property name="hostName" value="xxxxx" /> <property name="port" value="6379" /> </bean>
<!-- Do not remove --> <util:constant static-field="org.springframework.session.data.redis.config.ConfigureRedisAction.NO_OP"/>
<bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate"> <property name="connectionFactory" ref="lettuceConnectionFactory" /> </bean>
</beans> |
lettuceConectionFactory를 설정할 때 hostName과 Port를 설정하여 준다.
단순하게 Spring Framework에서 Redis를 이용하여 Session을 관리하는 방법을 설명하였다.
'Spring Framrwork' 카테고리의 다른 글
Spring Framework + Redis를 이용한 Session Clustering (0) | 2018.07.19 |
---|---|
Spring framework RequestMapping을 XML 파일로 생성하기 (0) | 2018.07.17 |
Spring framework Future와 AsyncResult 를 이용한 Async 서비스 호출 (0) | 2018.04.23 |
Mybatis ResultHandler를 이용한 ExcelDownload (3) | 2018.04.19 |
Spring framework Property Reload (0) | 2018.04.13 |