세션 데이터를 공유할 수 있도록 어셈블

기본적으로 세션 관리 설비는 Servlet 2.3 이상 API 스펙에 따라 웹 모듈에 의해 세션 범위를 지원합니다. 동일한 웹 모듈에 있는 서블릿만이 특정 세션과 연관된 데이터에 액세스할 수 있습니다. 그러나, 웹 모듈 범위의 데이터 외부를 공유하기 위해 IBMApplicationSession 오브젝트 또는 IBM® 확장자, 공유 세션 컨텍스트를 사용할 수 있습니다.

이 태스크 정보

IBMApplicationSession 오브젝트는 웹 모듈의 세션에 의해 검색될 수 있는 상위 세션 오브젝트이고, 비즈니스 레벨 애플리케이션에서 모든 웹 모듈에 걸쳐 세션 속성을 공유할 수 있습니다. 비즈니스 레벨 애플리케이션의 기본 범위는 엔터프라이즈 애플리케이션입니다. 공유된 세션 컨텍스트 옵션은 또한 세션 속성의 범위를 확장합니다. 공유된 세션 콘텍스트 확장자를 사용할 때, 전체 비즈니스 레벨 애플리케이션을 위한 또는 기본 엔터프라이즈 애플리케이션을 위해 단지 하나의 세션 오브젝트가 있습니다.

비즈니스 레벨 애플리케이션을 위한 공유 세션을 사용 중인 경우 세션에 위치한 모든 오브젝트를 위한 클래스 파일은 분리된 공유 라이브러리에 존재하고 모든 애플리케이션 중에 공통이어야 합니다.

IBMApplicationSession 메소드를 사용하는 것에 대한 수익성은 각 웹 모듈이 그 자체의 세션을 유지하는 것뿐만 아니라 공유 세션에 참조를 가지고 있을 수 있다는 것입니다.

제품의 이전 버전으로부터 애플리케이션을 마이그레이션하는 경우, IBMApplicationSession 메소드는 애플리케이션의 애플리케이션 논리에 대한 변경이 필요합니다.

제한사항: 공유 세션을 사용하려면, 지정된 서버에 비즈니스 레벨 애플리케이션 내에 모든 애플리케이션을 설치해야 합니다. 서버에 의해 엔터프라이즈 애플리케이션을 분할할 수 없습니다. 예를 들면, “BLA1”의 한 엔터프라이즈 애플리케이션이 서버에 설치되고 또한 “BLA1”에서 두 번째 엔터프라이즈 애플리케이션이 다른 서버에 설치될 때 이 옵션을 사용할 수 없습니다. 그와 같은 분할된 설치에서, 애플리케이션은 분포된 세션을 사용하여 웹 모듈에 걸쳐 세션 속성을 공유할지도 모르지만, 세션에 대한 동시 액세스가 다른 웹 모듈에서 만들어질 때 세션 데이터 무결성이 유실됩니다. 또한 심하게 TIME_BASED_WRITES와 같이, 일부 세션 관리 기능의 사용을 제한합니다.

이 공유된 세션 컨텍스트 확장자가 사용으로 설정되는 엔터프라이즈 애플리케이션에 대해서 엔터프라이즈 애플리케이션 안에 있는 웹 모듈 위의 세션 관리 구성은 무시됩니다. 세션 관리가 엔터프라이즈 애플리케이션 레벨에 겹쳐 써지는 경우 엔터프라이즈 애플리케이션에 정의된 세션 관리 구성이 사용됩니다. 그렇지 않으면, 웹 컨테이너의 세션 관리 구성이 사용됩니다. 비즈니스 레벨 애플리케이션 내에 다중 엔터프라이즈 애플리케이션을 사용하면, 세션 관리 구성은 이 비즈니스 레벨 애플리케이션 내에 모든 애플리케이션과 웹 모듈 중에 공통이어야 합니다.

비즈니스 레벨 애플리케이션 또는 엔터프라이즈 애플리케이션 안에서 모든 웹 모듈에서 정의되는 HttpSession 리스너는 세션 이벤트를 위해 호출됩니다. 리스너 호출의 순서는 보장되지 않습니다.

비즈니스 레벨 애플리케이션에 걸쳐 세션 데이터를 공유하기 위해 다음을 완료하십시오.

프로시저

  1. 애플리케이션 코드 내에 IBMApplicationSession 오브젝트를 사용하여 세션 데이터를 공유하기 위해 다음을 완료하십시오.
    1. 세션 오브젝트를 검색하십시오.
      HttpSession session = request.getSession();
    2. IBMSession 오브젝트에 이 오브젝트를 캐스트하고 getIBMApplicationSession 메소드를 호출하십시오.
      IBMApplicationSession appSession = ((IBMSession)session).getIBMApplicationSession();
    3. 보통 세션 오브젝트와 같이 appSession을 사용하십시오.
  2. 공유된 세션 컨텍스트 확장자를 사용하여 세션 데이터를 공유하기 위해 다음을 수행하십시오.
    1. 어셈블리 도구를 시작하십시오.
    2. 어셈블리 도구에서 > 배치 디스크립터 편집기로 시작을 공유하고 클릭하려는 애플리케이션(EAR 파일을)을 마우스 오른쪽 단추로 클릭하십시오.
    3. 어셈블리 도구의 애플리케이션 배치 디스크립터 편집기에서 WebSphere® 확장기능 아래에 공유 세션 컨텍스트를 선택하십시오. 세션에 유입된 속성의 클래스 정의가 엔터프라이즈 애플리케이션에 모든 웹 모듈에 사용 가능하다는 것을 확인하십시오. 공유된 세션 컨텍스트는 스펙의 요구사항을 완전히 충족시키지 않습니다.
    4. 애플리케이션(EAR) 파일을 저장하십시오. 어셈블리 도구에서 애플리케이션 배치 디스크립터 편집기를 닫은 다음 애플리케이션 변경사항을 저장할지 확인하십시오.

주제 유형을 표시하는 아이콘 태스크 주제



시간소인 아이콘 마지막 업데이트 날짜: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tprs_sharing_data
파일 이름:tprs_sharing_data.html