세션 데이터에 대한 액세스 직렬화
서블릿 API는 지정된 서버 인스턴스에서 세션에 대한 동시 액세스를 지원합니다. WebSphere® Application Server는 지정된 서버 인스턴스에서 세션의 동시 수정이 발생하지 않도록 지정된 서버 인스턴스에서 세션에 대한 동시 액세스를 방지하는 옵션을 제공합니다.
이 태스크 정보
세션에 대한 동시 액세스를 방지하는 것은 세션을 기반으로 요청을 동기화함으로써 달성됩니다. 이 기능이 켜지면 서블릿을 호출하기 전에 요청이 세션을 획득하고, 요청은 서블릿 시작 시간을 위해 세션을 잠금으로써 동기화됩니다. 동기화는 세션의 메모리 사본을 기반으로 함을 유의하십시오. 따라서 이 기능은 세션 선호도가 실패할 때는 세션을 기반으로 서버 간에 요청을 직렬화할 수 없습니다.
서블릿 또는 JavaServer 페이지 내에서 세션 오브젝트를 동기화하기 위해 세션 데이터 기능에 대한 직렬화 액세스를 사용할 수도 있습니다. 애플리케이션은 세션 관리자와의 교착 상태가 발생할 수 있기 때문에 서블릿 또는 JavaServer Pages 내부에서 세션 오브젝트를 동기화할 수 없습니다. 세션 관리자가 둘 이상의 잠금 메커니즘의 사용을 예상하지 않으므로 교착 상태가 발생합니다. 한 번에 단 하나의 요청만이 구성 옵션, 직렬 액세스 허용을 사용하여 액세스할 수 있도록 할 수 있습니다.
동일 세션 데이터의 동시 수정이 가능하고 애플리케이션에 의해 바람직하지 않을 때에만 이 기능을 사용하십시오. 이 기능에는 세션을 기반으로 요청을 직렬화하는 오버헤드가 있습니다.
세션 액세스를 동기화하려면 다음을 수행하십시오.
프로시저
- 세션 액세스를 직렬화하려는 세션 관리 레벨을 선택하십시오.
- 세션 액세스 직렬화 아래에서 직렬 액세스 허용을 클릭하십시오.
- 최대 대기 시간 상자에 실행을 계속하기 전에 세션에서 서블릿이 대기하는 시간(밀리초 단위)을 입력하십시오. 기본값은 120000밀리초 또는 2분입니다.
- 서블릿이 세션에 대한 액세스를 얻고 세션이 여전히 다른 서블릿에 의해 잠겨 있더라도 정상 실행을 계속하게 하려면 제한시간에 액세스 허용을 선택하십시오. 이 상자를 선택하지 않으면 세션 요청의 제한시간이 초과될 때 서블릿 실행은 중단됩니다.
- 적용을 클릭하십시오.
- 저장을 클릭하십시오.