티스토리 뷰
728x90
반응형
프로젝트 환경
- springframework
- Maven
Hazelcast 환경 세팅
1. pom.xml hazelcast 선언
<dependency>
<groupId>com.hazelcast</groupId>
<artifactId>hazelcast-all</artifactId>
<version>3.12.13</version>
</dependency>
2.context-hazelcast.xml 생성 (java로 생성해도됨)
<?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:hz="http://www.hazelcast.com/schema/spring"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
http://www.hazelcast.com/schema/spring
https://www.hazelcast.com/schema/spring/hazelcast-spring-3.12.xsd">
<!--
클라이언트 모드
1. 세션복사기능을 사용 하는 경우 instance name을 web.xml에 있는 설정과 맞춰야 함
-->
<hz:client id="instance">
<hz:instance-name>instance</hz:instance-name>
<hz:connection-strategy reconnect-mode="ASYNC" async-start="true" >
<hz:connection-retry enabled="true" />
</hz:connection-strategy>
<hz:group name="test" password="test!23" />
<hz:network connection-timeout="1000"
redo-operation="true"
smart-routing="true">
<hz:member>${host}:5801</hz:member> <!-- 개발서버 -->
</hz:network>
</hz:client>
</beans>
3.web.xml hazelcast 세팅
<!-- hazelcast sesion clusturing -->
<filter>
<filter-name>hazelcast-filter</filter-name>
<filter-class>com.hazelcast.web.spring.SpringAwareWebFilter</filter-class>
<!-- web session 이름, context-hazelcast에서 설정한 값으로 지정합니다. -->
<init-param>
<param-name>map-name</param-name>
<param-value>my-sessions</param-value>
</init-param>
<!--
sticky-session옵션 //
항상 같은 곳에서 요청(분산된 hazelcast에서 요청되는 것에 대한 것)
-->
<init-param>
<param-name>sticky-session</param-name>
<param-value>true</param-value>
</init-param>
<!--
세션 유지를 위한 세션이름명,
test로 변경 이유는 헤이즐로 하고 있다는 부분을 노출 하지 않기 위함. -->
<init-param>
<param-name>cookie-name</param-name>
<param-value>test.sessionId</param-value>
</init-param>
<!--
캐싱을 위해서 작성한 bean의 이름과 도일하게 일치하지 않으면 추가로 instance를 생성 함
use-client = true 인경우는 클라이언트의 instance명을 기준으로 검색 해서 사용함!
-->
<init-param>
<param-name>instance-name</param-name>
<param-value>instance</param-value>
</init-param>
<!-- serve 죽을 때 같이 죽도록(이건안건듬) -->
<init-param>
<param-name>shutdown-on-destroy</param-name>
<param-value>true</param-value>
</init-param>
<!-- 클라이언트 사용여부 -->
<init-param>
<param-name>use-client</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>hazelcast-filter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>FORWARD</dispatcher>
<dispatcher>INCLUDE</dispatcher>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>
<listener>
<listener-class>com.hazelcast.web.SessionListener</listener-class>
</listener>
<!-- //hazelcast session replacation -->
com.hazelcast.web.SessionListener : hazelcast 세션을 갱신 처리하기 위한 리스너
hazelcast-client cache 환경세팅
4. context-ehcache.xml ( 캐시를 이용하기 위한 환경 설정 xml 기준)
<?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:cache="http://www.springframework.org/schema/cache"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/cache http://www.springframework.org/schema/cache/spring-cache.xsd">
<!--
캐시를 사용합니다. hazelcast 를 이용한 캐시처리를 위한 환경세팅
-->
<cache:annotation-driven />
<cache:annotation-driven cache-manager="cacheManager" />
<bean id="cacheManager" class="com.hazelcast.spring.cache.HazelcastCacheManager">
<constructor-arg ref="instance"/>
</bean>
</beans>
연관 페이지
hazelcast-client 적용하기1(이론편) (tistory.com)
hazelcast-client 적용하기(실전편2) (tistory.com)
728x90
반응형
'프로그램 언어 > Spring' 카테고리의 다른 글
Hazelcast Multicast / Tcp-ip 적용하기 (0) | 2024.02.29 |
---|---|
hazelcast-client 적용하기(실전편2) (0) | 2024.02.27 |
hazelcast-client 적용하기1(이론편) (1) | 2024.02.26 |
Spring boot 3.x.x 에서의 Swagger적용 방법 (gradle 기준) (1) | 2023.11.28 |
Rest API 요청 시 PKIX path build failed 에러 발생관련 이슈 처리 방법(경험담 포함..) (0) | 2023.05.29 |
250x250
반응형
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 알고리즘
- LocalDate
- 리눅스
- 네이버 클라우드
- Lock
- Linux
- 격리수준
- 권한
- docker
- 스케줄러
- Cache
- centos7
- 정의
- insert
- dfs
- Java
- mybatis
- leatcode
- 캘린더
- dockerfile
- 도커
- 캐시
- 개념 이해하기
- ncp
- spring
- hazelcast
- 이미지
- 컨테이너
- Quartz
- MySQL
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함