아키텍처와 함께

블로그 이미지
by gregorio
  • Total hit
  • Today hit
  • Yesterday hit

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을 관리하는 방법을 설명하였다.


AND

ARTICLE CATEGORY

분류 전체보기 (56)
Spring Framrwork (33)
Linux (1)
APM (1)
Java (8)
python (0)
ant (1)
chart (1)
OS (1)
tomcat (1)
apache (1)
database (0)

RECENT ARTICLE

RECENT COMMENT

CALENDAR

«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

ARCHIVE

LINK