국제화 컨텍스트
국제화 컨텍스트는 정렬된 목록을 포함하는 국제화 정보의 분배 가능한 콜렉션이나 로케일 및 단일 시간대의 체인입니다. 여기서 로케일 및 시간대는 각각 java.util.Locale 및 java.util.TimeZone Java™ SDK 유형의 인스턴스입니다. 로케일 체인은 사용자의 환경 설정에 따라 정렬되어 있습니다.
국제화 서비스는 두 개의 국제화 컨텍스트를 관리하고 사용 가능하게 합니다. 두 개의 국제화 컨텍스트 중 하나는 호출자 컨텍스트로, 호출자의 로컬화 환경을 표시하며 또 하나는 호출 컨텍스트로, 비즈니스 메소드가 실행하는 로컬화 환경을 표시합니다. 서버 애플리케이션 컴포넌트는 호출자와 호출 국제화 컨텍스트의 요소를 사용하여 로케일에 민감하고 시간대에 민감한 계산을 적절하게 조정합니다.
국제화 서비스는 Java SDK에서 발견되는 java.util.SimpleTimeZone 유형 이외의 시간대 유형을 지원하지 않습니다. 국제화 컨텍스트 API 메소드에 제공되면 지원되지 않는 시간대 유형은 JVM의 기본 시간 영역으로 자동으로 맵핑됩니다. java.util.Locale, java.util.TimeZone 및 java.util.SimpleTimeZone 유형의 전체 설명은 Java SDK API 문서를 참조하십시오.
호출자 컨텍스트
호출자 국제화 컨텍스트는 수신 EJB 비즈니스 메소드 및 서블릿 서비스 메소드 호출에서 수신된 로케일 체인과 시간대를 포함합니다. 호출 프로세스에서 전파된 국제화 컨텍스트입니다. 서버 애플리케이션 컴포넌트 내 호출자 컨텍스트 요소를 사용하여 호출 컴포넌트에 대한 계산을 로컬화합니다. 호출자 컨텍스트는 읽기 전용이고, 국제화 컨텍스트 API의 국제화 인터페이스를 사용하여 모든 애플리케이션 컴포넌트에서 액세스할 수 있습니다.
호출자 컨텍스트는 다음 방법으로 계산됩니다. EJB 비즈니스 메소드 또는 서블릿 서비스 메소드 호출 시, 국제화 서비스는 국제화 컨텍스트를 수신 요청에서 추출하며 이 컨텍스트의 범위를 호출자 컨텍스트로서의 메소드로 지정합니다. 손실되거나 null인 컨텍스트 요소의 경우, 서비스는 해당되는 JVM의 기본 요소(예: java.util.Locale.getDefault() 또는 java.util.TimeZone.getDefault())를 삽입합니다. 손실되거나 null 호출자 컨텍스트 요소가 웹 서비스에 대해 사용 가능한 Stateless 세션 Bean의 호출 시 발생합니다.
공식적으로 호출자 컨텍스트는 호출되는 비즈니스 메소드나 애플리케이션 컴포넌트의 호출 컨텍스트입니다.
호출 컨텍스트
호출 국제화 컨텍스트는 EJB 비즈니스 메소드와 서블릿 서비스 메소드가 실행되는 로케일 체인과 시간대를 포함합니다. 적용 가능한 국제화 정책에 따라, 호스팅 컨테이너나 애플리케이션 컴포넌트에서 관리됩니다. 출력 비즈니스 메소드 요청 시, 대상 프로세스로 전파되는 컨텍스트입니다. 호출 컨텍스트 요소를 사용하여 현재 애플리케이션 컴포넌트의 지정된 설정에서 계산을 로컬화합니다.
컨텍스트 호출은 다음 방법으로 계산됩니다. 수신 비즈니스 메소드나 서블릿 서비스 메소드 호출 시 국제화 서비스는 연관된 컨텍스트 관리 정책을 쿼리합니다. 정책이 컨테이너 관리 국제화(CMI)이면, 컨테이너의 범위를 호출에 대한 정책에서 지정된 컨텍스트로 지정합니다. 그렇지 않으면 정책은 애플리케이션 관리 국제화(AMI)이며 컨테이너의 범위를 메소드 구현으로 변경될 수 있는 호출에 대한 빈 컨텍스트로 지정할 수 있습니다.
애플리케이션 컴포넌트는 국제화 컨텍스트 API의 Internationalization 및 InvocationInternationalization 인터페이스 모두를 통해 호출 컨텍스트 요소에 액세스할 수 있습니다. 호출 컨텍스트 요소는 애플리케이션 관리 국제화 정책에서만 설정될 수 있습니다(겹쳐쓰기).
출력 비즈니스 메소드 요청 시 서비스는 현재 범위 지정된 호출 컨텍스트를 얻고 요청에 첨부합니다. 이 출력 내보낸 컨텍스트는 대상 호출의 호출자 컨텍스트가 됩니다. 호출 컨텍스트 요소를 제공하면 출력 요청 시 내보내기를 위해 또는 API를 통해 국제화 서비스는 항상 API를 사용하여 최신 요소 세트를 제공합니다. 또한 서비스는 널 호출 컨텍스트 요소에 대한 해당 JVM의 기본 요소를 제공합니다.
웹 서비스(SOAP) 요청을 통해 전파되는 국제화 컨텍스트가 java.lang.SimpleTimeZone 오브젝트의 전체 상태가 아닌 시간대 ID를 포함하기 때문에, 웹 서비스 가능한 클라이언트 프로그램 또는 세션 Bean이 원격 비즈니스 계산에 참여하면 시간대 정보가 유실될 수 있습니다.