3.7.4. 엔터프라이즈 아카이브에서 하위 배포 간 세션 공유 구성
JBoss EAP는 EAR에 포함된 WAR 모듈 하위 배포 간 세션을 공유하도록 EAR(Enterprise Archives)를 구성할 수 있는 기능을 제공합니다. 이 기능은 기본적으로 비활성화되어 있으며 EAR의 META-INF/jboss-all.xml 파일에서 명시적으로 활성화해야 합니다.
이 기능은 표준 서블릿 기능이 아니므로 이 기능을 활성화하면 애플리케이션이 이식되지 않을 수 있습니다.
EAR 내에서 WAR 간 세션 공유를 활성화하려면 EAR의 META
-INF/jboss-all.xml에서 shared-session-config 요소를 선언해야 합니다.
예제: META-INF/jboss-all.xml
<jboss xmlns="urn:jboss:1.0"> ... <shared-session-config xmlns="urn:jboss:shared-session-config:2.0"> </shared-session-config> ... </jboss>
shared-session-config 요소는 EAR 내의 모든 WAR에 대해 공유 세션 관리자를 구성하는 데 사용됩니다. shared-session-config 요소가 있으면 EAR 내의 모든 WAR가 동일한 세션 관리자를 공유합니다. 여기에서 변경한 내용은 EAR에 포함된 모든 WAR에 영향을 미칩니다.
3.7.4.1. 공유 세션 구성 옵션 참조
예제: META-INF/jboss-all.xml
<jboss xmlns="urn:jboss:1.0">
<shared-session-config xmlns="urn:jboss:shared-session-config:2.0">
<distributable/>
<max-active-sessions>10</max-active-sessions>
<session-config>
<session-timeout>0</session-timeout>
<cookie-config>
<name>JSESSIONID</name>
<domain>domainName</domain>
<path>/cookiePath</path>
<comment>cookie comment</comment>
<http-only>true</http-only>
<secure>true</secure>
<max-age>-1</max-age>
</cookie-config>
<tracking-mode>COOKIE</tracking-mode>
</session-config>
<replication-config>
<cache-name>web</cache-name>
<replication-granularity>SESSION</replication-granularity>
</replication-config>
</shared-session-config>
</jboss>
| 요소 | 설명 |
|---|---|
| shared-session-config |
공유 세션 구성의 루트 요소입니다. |
| 배포 가능 | 배포 가능한 세션 관리자를 사용해야 함을 지정합니다. 스키마 버전 2.0부터 배포 불가능한 세션 관리자가 기본적으로 사용됩니다. 버전 1.0의 경우 배포 가능한 세션 관리자는 계속 기본 세션 관리자입니다. |
| max-active-sessions | 허용된 최대 세션 수. |
| session-config | EAR에 포함된 모든 배포된 WAR에 대한 세션 구성 매개 변수를 포함합니다. |
| session-timeout | EAR에 포함된 배포된 WAR에 생성된 모든 세션의 기본 세션 시간 제한 간격을 정의합니다. 지정된 시간 초과는 정수(분)로 표시되어야 합니다. 시간 제한이 0 이하이면 컨테이너에서 세션의 기본 동작이 시간 초과되지 않도록 합니다. 이 요소를 지정하지 않으면 컨테이너에서 기본 시간 초과 기간을 설정해야 합니다. |
| aws-config | EAR에 포함된 배포된 WAR에 의해 생성된 세션 추적 쿠키의 구성이 포함되어 있습니다. |
| name |
EAR에 배포된 WAR로 생성된 모든 세션 추적 쿠키에 할당되는 이름입니다. 기본값은 |
| domain | EAR에 배포된 WAR에 의해 생성된 모든 세션 추적 쿠키에 할당되는 도메인 이름입니다. |
| 경로 | EAR에 배포된 WAR에 의해 생성된 모든 세션 추적 쿠키에 할당되는 경로입니다. |
| 설명 | EAR에 배포된 WAR에 의해 생성된 모든 세션 추적 쿠키에 할당되는 주석입니다. |
| http-only |
EAR에 포함된 배포된 WAR에서 생성한 세션 추적 쿠키를 |
| 보안 | 해당 세션을 시작한 요청이 HTTPS 대신 일반 HTTP를 사용하는 경우에도 EAR에 포함된 배포된 WAR에서 생성한 세션 추적 쿠키가 안전한 것으로 표시되는지 여부를 지정합니다. |
| 최대 크기 |
EAR에 배포된 WAR에서 생성한 모든 세션 추적 쿠키에 할당되는 수명(초)입니다. 기본값은 |
| tracking-mode | EAR에 포함된 배포된 WAR에서 생성한 세션의 추적 모드를 정의합니다. |
| replication-config | HTTP 세션 클러스터링 구성을 포함합니다. |
| cache-name |
이 옵션은 클러스터링에만 사용됩니다. 세션 데이터를 저장할 Infinispan 컨테이너의 이름과 캐시를 지정합니다. 명시적으로 설정하지 않은 경우 기본값은 애플리케이션 서버에 의해 결정됩니다. 캐시 컨테이너 내에서 특정 캐시를 사용하려면 |
| replication-granularity |
이 옵션은 클러스터링에만 사용됩니다. 이는 세션 복제 세분화 수준을 결정합니다. 가능한 값은
|