웹 애플리케이션에 대한 ActivitySession 배치 속성을
설정하여 UserActivitySession을 시작하고 ActivitySession 범위 내의 작업을 수행하려면
이 태스크를 사용합니다.
시작하기 전에
이 태스크에서는 WebSphere® Application Server에서
배치할 수 있는 애플리케이션 엔터프라이즈 Bean을 포함하는
EAR(Enterprise Archive) 파일이 있다고 가정합니다. 자세한 내용은
애플리케이션 어셈블 주제를 참조하십시오.
이 태스크 정보
어셈블리 도구를 사용하여
애플리케이션의 배치 속성을 구성할 수 있습니다. 이 주제에서는
Rational® Application Developer를 사용하여
배치 속성을 구성하는 방법에 대해 설명합니다.
웹 애플리케이션에
대한 ActivitySession 배치 속성을 설정하려면 다음 단계를 완료하십시오.
프로시저
- 어셈블리 도구를 시작하십시오. 자세한 정보는
Rational 애플리케이션 개발자 정보를 참조하십시오.
- 웹 모듈을 작성 또는 편집하십시오. 예를 들어, 기존 모듈의 속성을 변경하려면
를
클릭한 후 모듈에 대한 아카이브 파일을 선택하십시오. 예를 들어, 기존 모듈의 속성을 변경하려면 가져오기 마법사를 사용하여 어셈블리 도구에
EAR 또는 WAR 파일을 가져오십시오. 가져오기 마법사를 시작하려면 다음을 수행하십시오.
- 를
클릭하십시오.
- 웹 폴더를 펼치고, WAR 파일을 클릭한 후
다음을 클릭하십시오.
- WAR 파일을 선택한 후 완료를 클릭하십시오.
- Java EE Perspective의 프로젝트 탐색기 보기에서
컴포넌트 인스턴스를 마우스 오른쪽 단추로 클릭하고
배치 디스크립터 편집기를 마우스 오른쪽 단추로
클릭한 후 연결 프로그램을 클릭하십시오. 특성 분할창에 웹 모듈에 대한 특성 대화 상자 노트북이 표시됩니다.
- 특성 분할창에서 확장 서비스 탭을 선택하십시오.
- 변경하려는 서블릿을 선택하십시오.
- ActivitySession 섹션에서 ActivitySession 제어 종류 속성을
애플리케이션, 컨테이너 또는 없음으로 설정하십시오.
- 애플리케이션
- 웹 애플리케이션은 다음과 같이 ActivitySession을 시작하고 종료해야 합니다.
- 애플리케이션이 ActivitySession을 시작할 때 HttpSession이 활성화되면,
컨테이너는 HttpSession을 사용하는 ActivitySession과 연관됩니다.
- ActivitySession이 HttpSession 없이 시작되면, 디스패치된 메소드가 완료되기 전에
애플리케이션을 완료해야 합니다. 그렇지 않으면, 예외가 발생합니다.
- HttpSession이 이 ActivitySession 제어 값을 사용하는 애플리케이션에 디스패치된
요청에 연관되어 있고 해당 HttpSession에 이와 연관된 ActivitySession이 있는 경우,
컨테이너는 해당 ActivitySession의 컨텍스트에 있는 요청을
디스패치합니다. 예를 들어, 컨테이너는 디스패치 전의 스레드에 ActivitySession
컨텍스트를 재개합니다.
- 웹 애플리케이션은 트랜잭션 및 ActivitySession을 모두 사용할 수 있습니다.
ActivitySession의 범위 내에서 시작된 모든 트랜잭션은 시작된 웹
컴포넌트에 의해 동일한 요청 디스패치에서 종료되어야 합니다.
- 컨테이너
- 서블릿에는 UserActivitySessions에 대한 액세스 권한이 없습니다. 서블릿에 의해
시작된 모든 HttpSession은 컨테이너에 의해 자동으로 연관된 ActivitySession을
포함하지 않으며, 이 ActivitySession은 실행의 스레드에 배치됩니다.
이 서블릿이 ActivitySession을 포함하지 않는 HttpSession이 있는 요청으로
디스패치되면 컨테이너는 ActivitySession을 시작하여 HttpSession 및 스레드와
연관시킵니다.
웹 애플리케이션은 트랜잭션 및 ActivitySession을 모두 사용할 수 있습니다.
ActivitySession의 범위 내에서 시작된 모든 트랜잭션은 시작된 웹
컴포넌트에 의해 동일한 요청 디스패치에서 종료되어야 합니다.
- 없음
- 서블릿에는 UserActivitySession에 대한 액세스 권한이 없습니다. 서블릿에 의해 시작된
모든 HttpSession은 컨테이너에 의해 자동으로 연관된 ActivitySession을 포함하지
않습니다. 이러한 서블릿이 ActivitySession을 포함하는 HttpSession이 있는 요청으로
디스패치되면 컨테이너는 해당 ActivitySession의 컨텍스트에서 요청을
디스패치합니다. 예를 들어, 컨테이너는 디스패치 전의 스레드에 ActivitySession
컨텍스트를 재개합니다.
- 변경사항을 적용하고 어셈블리 도구를 닫으려면 확인을 클릭하십시오.
그렇지 않은 경우, 값은 적용하지만 추가 편집을 위해 특성 대화 상자를 열어 놓으려면
적용을 클릭하십시오.
- 배치 디스크립터에 사용자의 변경사항을 저장하십시오.
- 배치 디스크립터 편집기를 닫으십시오.
- 프롬프트가 표시되면 예를 클릭하여 변경사항을 배치 디스크립터에 저장합니다.
- 아카이브 파일을 확인하십시오. Rational Application Developer를 사용한 파일 확인에 대한 자세한 정보는
Rational 애플리케이션 개발자 정보를 참조하십시오.
- 프로젝트의 팝업 메뉴에서 배치를 클릭하여 EJB 배치 코드를 생성합니다.
- 옵션: WebSphere Application Server 설치에서
완료된 모듈을 테스트하십시오.
모듈을 마우스 오른쪽 단추로 클릭하고, 서버에서 실행을 클릭하고,
표시된 마법사의 지침을 따르십시오.
중요사항: 서버에서 실행은 장치 테스트용으로만
사용하십시오. 어셈블리 도구는 WebSphere Application
Server 설치 및 애플리케이션이 원격으로 게시된 시기를 제어하고, 어셈블리 도구는 해당 서버에 대한 서버 구성 파일을 겹쳐씁니다. 프로덕션 서버에서 서버에서 실행
옵션을 사용하지 마십시오.
다음에 수행할 작업
애플리케이션을 어셈블한 후, 시스템 관리 도구를 사용하여 WAR 파일을 배치하십시오. 예를 들어,
관리 콘솔을 사용하려면 엔터프라이즈 애플리케이션 배치 및 관리
주제를 참조하십시오.