국제화 컨텍스트: 관리 정책
국제화 정책은 Java™ EE 애플리케이션 컴포넌트 또는 그 컴포넌트의 호스트 컨테이너가 컴포넌트 호출 시 국제화 컨텍스트를 관리하는 방법을 규정합니다. 모든 컴포넌트 유형에는 애플리케이션 관리 국제화(AMI)와 컨테이너 관리 국제화(CMI)라는 두 가지 국제화 컨텍스트 관리 정책이 적용됩니다.
- 국제화 유형
- 컨테이너 국제화 속성
서비스는 모든 애플리케이션 컴포넌트 유형에 대한 기본, 또는 내재적 국제화 정책을 정의합니다. 개발 시, 어셈블러는 국제화 유형 및 선택사항인 컨테이너 국제화 속성을 명시적으로 구성하여 서버 컴포넌트 유형에 대한 기본 정책을 대체할 수 있습니다. 어셈블리 중 구성된 정책은 애플리케이션을 위한 배치 디스크립터에서 유지됩니다.
모든 컴포넌트에 AMI 또는 CMI인지를 표시하는 국제화 유형이 있습니다. 즉, 컴포넌트가 AMI 또는 CMI 정책 하에서 배치되는지 여부입니다. 애플리케이션 어셈블러는 서블릿, 세션 Bean 및 메시지 구동 Bean에 대한 국제화 유형을 설정할 수 있습니다. 엔티티 Bean은 내재적 CMI이고 EJB 클라이언트는 내재적 AMI입니다. 그렇지 않으면 구성될 수 없습니다.
CMI 서블릿과 엔터프라이즈 Bean의 경우, 선택적 컨테이너 국제화 속성은 컨테이너의 범위가 서비스 또는 비즈니스 메소드로 지정되는 호출 국제화 컨텍스트를 표시하도록 지정될 수 있습니다. CMI 서비스 또는 비즈니스 메소드 호출은 호출자 프로세스의 컨텍스트, 서버 JVM의 기본 컨텍스트 또는 속성에서 지정된 사용자 정의 컨텍스트 하에서 실행할 수 있습니다. 어셈블러는 웹 모듈 내 CMI 서블릿의 비연속 세트당 하나의 컨테이너 국제화 속성을 지정하거나, 또는 EJB 모듈 내 CMI Bean의 비즈니스 메소드의 비연속 세트당 하나의 속성을 지정할 수 있습니다. 컨테이너 국제화 속성은 둘 이상의 메소드와 연관될 수 있지만 메소드는 둘 이상의 속성과 연관될 수 없습니다.
[<국제화 유형>,<컨테이너 국제화 속성>]
배치 디스크립터의 정책 정보가 부족한 것처럼 보이는 여러 경우가 존재합니다. 예를 들어, EJB 클라이언트 애플리케이션에는 구성 가능한 국제화 정책 설정이 없습니다. AMI 컴포넌트에는 컨테이너 국제화 속성이 없으며 CMI 컴포넌트를 위한 컨테이너 국제화 속성을 지정하지 않아도 됩니다. 서비스가 잘 구성된 배치 디스크립터로부터 명시적 국제화 유형 및 컨테이너 속성 설정을 얻을 수 없으면, 내재적으로 해당 설정을 정책에 삽입합니다.
- 배치 디스크립터에서 모든 국제화 정책 정보가 부족한 서블릿(서비스) 및 EJB 비즈니스 메소드는 내재적으로 정책 [CMI,RunAsCaller] 하에서 실행됩니다.
- 배치 디스크립터에서 컨테이너 국제화 속성이 부족한 CMI 서블릿 및 비즈니스 메소드는 내재적으로 정책 [CMI,RunAsCaller] 하에서 실행됩니다.
- AMI 서블릿과 비즈니스 메소드는 배치 디스크립터에서 컨테이너 국제화 속성이 항상 부족하지만 내재적으로 정책 [AMI,RunAsServer] 하에서 실행됩니다.
- EJB 클라이언트는 항상 배치 디스크립터에서 국제화 정책 정보가 부족합니다. 정의로, EJB 클라이언트는 내재적으로 AMI 유형이며 JVM의 호출 컨텍스트 하에서 실행됩니다. 논리적 정책 [AMI,RunAsServer] 하에서 실행됩니다.
EJB 클라이언트 및 HTTP 클라이언트에 대한 국제화 정책을 구성할 수 없습니다. HTTP 클라이언트는 호스팅 웹 브라우저의 언어 우선순위 설정 하에서 실행됩니다. 이 설정은 대부분의 웹 브라우저의 옵션 대화 상자에서 구성 가능합니다. 세부사항은 웹 브라우저 문서를 참조하십시오.