서비스 오류 국제화

특정 조건은 애플리케이션 실행 중에 java.lang.IllegalStateException 예외를 발행하거나 기본 동작을 실행하여 국제화 서비스가 시작되지 않도록 할 수도 있습니다.

java.lang.IllegalStateException 예외는 다음 중 하나를 표시합니다.
  • 애플리케이션 컴포넌트가 국제화 프로그래밍 모델에서 지원하지 않는 조작을 시도합니다.

    IllegalStateException 예외는 국제화 유형이 컨테이너 관리 국제화(CMI)로 설정된 서버 애플리케이션 컴포넌트가 호출 컨텍스트를 설정을 시도할 때마다 발행됩니다. 서블릿 및 엔터프라이즈 Bean이 해당 호출 국제화 컨텍스트를 수정할 수 없기 때문에 이 동작은 CMI 정책 위반입니다.

  • 서비스가 사용되지 못하게 하는 이상 항목이 발생했습니다.

    예를 들어, 국제화 서비스가 제대로 시작되지 않으면 UserInternationalization URL 속성의 JNDI(Java™ Naming and Directory Interface)가 IllegalStateException 인스턴스를 포함하는 javax.naming.NameNotFoundException 예외를 발행합니다.

다음 조건은 국제화 애플리케이션이 실행 중인 동안 발생할 수 있습니다. 이 조건으로 인해 국제화 서비스가 시작되지 않거나 IllegalStateException 예외 발행 또는 기본 동작을 실행할 수 있습니다.

예기치 못하거나 예외 동작이 발생하는 경우 문제점은 다음 조건과 연관될 수 있습니다. 추적 로그에서 이 조건을 검사하고 진단 추적 서비스가 국제화 서비스 기능에 대한 메시지를 생성하도록 구성해야 합니다.

국제화 서비스에 대한 추적 문자열은 다음과 같습니다. 둘 다 사용하십시오.
com.ibm.ws.i18n.context.*=all=enabled:com.ibm.websphere.i18n.context.*=all=enabled

서비스가 사용되지 않음

internationalization 서비스는 시작 설정이 지워지는 경우 시작되지 않습니다. 서비스는 사용되거나 사용되지 않는지를 표시하는 메시지를 생성합니다. 애플리케이션은 서비스가 사용되지 않을 때 국제화 API에 액세스할 수 없습니다. 애플리케이션이 UserInternationalization 참조를 확보하기 위해 JNDI 검색을 시도하는 경우 검색은 NamingException 예외로 실패하고 이는 참조를 찾지 못했음을 나타냅니다. 또한, 서비스는 수신(출력) 비즈니스 메소드 호출에서 국제화 컨텍스트를 범위 지정(전파)하지 않습니다.

서비스가 시작되지 않음

국제화 서비스는 STARTED 상태일 경우 항상 작동 가능합니다. 예를 들어, 애플리케이션이 국제화 컨텍스트 액세스를 시도하자마자 서비스가 시작되지 않으면 API가 IllegalStateException 예외를 발행합니다. 또한, 서비스는 서블릿 및 엔터프라이즈 Bean에 대한 런타임 지원을 제공하지 않습니다.

해당 라이프사이클 동안 애플리케이션 서버는 진행되기 때문에 국제화 서비스를 초기화, 시작, 중지, 종료(영구 삭제)합니다. 초기화 중에 이상 항목이 발생하면 서비스가 시작되지 않습니다. 서비스가 시작된 후 해당 상태는 심각한 오류가 발생할 때 BLOCKED로 변경 가능합니다. 서비스는 모든 상태 변경에 대해 메시지를 생성합니다.

추적 메시지가 서비스가 시작되지 않았음을 표시하면 이전 메시지를 검사하여 문제를 판별하십시오. 예를 들어, 국제화 서비스는 활동 서비스가 사용 불가능하거나 메시지가 국제화 서비스 초기 중에 해당 효과에 대해 표시되는 경우 시작되지 않습니다.

시작 중에 다음 메시지는 잠재적 구성이나 런타임 문제를 표시합니다.
ORB 지원 없음
서비스는 오브젝트 요청 브로커(ORB) 인스턴스를 확보할 수 없습니다. 이 조건은 심각한 오류입니다. 정보는 SystemErr.logSystemOut.log 파일을 검사하십시오.
참고: 이 주제는 하나 이상의 애플리케이션 서버 로그 파일을 참조합니다. 권장되는 대안은 분배 및 IBM® i 시스템에서 SystemOut.log, SystemErr.log, trace.logactivity.log 파일을 사용하는 대신 HPEL(High Performance Extensible Logging) 로그를 사용하고 인프라를 추적하도록 서버를 구성하는 것입니다. 원시 z/OS® 로깅 기능과 연계하여 HPEL을 사용할 수도 있습니다. HPEL을 사용하는 경우 서버 프로파일 바이너리 디렉토리의 LogViewer 명령행 도구를 사용하여 모든 로그에 액세스하고 정보를 추적할 수 있습니다. HPEL 사용에 대한 자세한 정보는 HPEL을 사용한 애플리케이션 문제점 해결 정보를 참조하십시오.
TCM 지원 없음
서비스는 해당 스레드 컨텍스트 관리자(TCM)의 인스턴스를 가져올 수 없습니다. 이 조건은 심각한 오류입니다. 정보는 SystemErr.logSystemOut.log 파일을 검사하십시오.
IIOP(활동 서비스) 지원 안됨
서비스가 활동 서비스에 등록할 수 없습니다. 이 조건은 심각한 오류입니다. 국제화 서비스는 활동 서비스 지원이 없이는 IIOP(Internet Inter-ORB Protocol)에서 컨텍스트를 전파 또는 수신하지 못합니다. 정보는 SystemErr.logSystemOut.log 파일을 검사하십시오.
AsynchBeans 지원 없음
서비스가 비동기 Bean 환경에 등록할 수 없습니다. 이 경고는 비동기 Bean 환경이 국제화 컨텍스트를 지원하지 못함을 나타냅니다.
EJB 컨테이너 지원 없음
서비스는 엔터프라이즈 JavaBeans(EJB) 컨테이너에 등록할 수 없습니다. 이 경고는 국제화 서비스가 엔터프라이즈 Bean을 지원할 수 없음을 나타냅니다. EJB 컨테이너 지원이 없으면 국제화 컨텍스트는 EJB 비즈니스 메소드로 제대로 범위 지정할 수 없습니다. EJB 컨테이너 관련 오류 조건을 추적 로그에서 검토하십시오.
웹 컨테이너 지원 없음
서비스는 웹 컨테이너에 등록할 수 없습니다. 이 경고는 국제화 서비스가 서블릿 및 JSP(JavaServer Pages) 파일을 지원할 수 없음을 나타냅니다. 웹 컨테이너 지원이 없으면 국제화 컨텍스트는 서블릿 서비스 메소드로 제대로 범위 지정할 수 없습니다. 웹 컨테이너 관련 오류 조건을 추적 로그에서 검토하십시오.
메타데이터 지원 없음
서비스가 메타데이터 서비스에 등록할 수 없습니다. 이 경고는 국제화 서비스가 애플리케이션 배치 디스크립터 내에서 국제화 정책을 처리할 수 없음을 나타냅니다. 메타데이터 지원이 없으면 서비스는 기본 국제화 컨텍스트 관리 정책 [CMI, RunAsCaller]을 모든 서블릿 라이프사이클 메소드 및 엔터프라이즈 Bean 비즈니스 메소드 호출에 연관시킵니다. 모든 메타데이터 서비스 관련 오류 조건을 추적 로그에서 검토하십시오.
JNDI(이름 지정 서비스) 지원 없음
서비스는 UserInternationalization 오브젝트를 네임스페이스에 바인드할 수 없습니다. 이 조건은 심각한 오류입니다. 애플리케이션 컴포넌트는 국제화 컨텍스트 API 참조에 액세스할 수 없기 때문에 국제화 컨텍스트 요소에도 액세스할 수 없습니다. 모든 이름 지정(JNDI) 서비스 관련 오류 조건에 대해 추적 로그를 검토하십시오.
API 지원 없음
서비스는 국제화 컨텍스트 API 오브젝트 인스턴스를 가져올 수 없습니다. 이 조건은 심각한 오류입니다. 애플리케이션 컴포넌트는 국제화 컨텍스트 API 참조에 액세스할 수 없기 때문에 국제화 컨텍스트 요소에도 액세스할 수 없습니다.

올바르지 않은 컨텍스트 요소

서비스가 올바르지 않은 국제화 컨텍스트 요소를 발견했습니다. 예를 들어, 국제화 서비스는 java.util.SimpleTimeZone 이외의 유형의 TimeZone 인스턴스를 지원하지 않습니다. 서비스에서 사용 불가능한 요소가 발견되면 메시지를 로그하고 JVM의 해당 기본 요소를 대체합니다.

누락된 컨텍스트 요소

서비스가 누락된 국제화 컨텍스트 요소를 발견했습니다. 수신 요청(예를 들어 국제화 서비스를 지원하지 않는 애플리케이션 서버에서)에 국제화 컨텍스트가 없습니다. 서비스가 호출자 국제화 컨텍스트 요소에 액세스를 시도하면(이 경우에는 없음) 서비스는 메시지를 로그하고 JVM(Java virtual machine)의 해당 기본 요소를 대체합니다.

가능할 때마다 모든 클라이언트 및 국제화 엔터프라이즈 애플리케이션을 구성하는 호스팅 애플리케이션 서버에서 국제화 서비스를 사용하십시오. 자세한 정보는 국제화 서비스 관리의 내용을 참조하십시오.

올바르지 않은 정책

국제화 서비스가 애플리케이션 배치 디스크립터에서 잘못된 국제화 정책을 발견했습니다. 서비스는 잘못된 속성을 적절한 기본값으로 대체합니다. 예를 들어 엔티티 Bean에 대한 국제화 유형이 서블릿이나 EJB 비즈니스 메소드 호출 실행 중에 애플리케이션으로 설정되는 경우 서비스는 불일치를 로그하고 대신 컨테이너 설정을 강제로 사용합니다.

또한, AMI 애플리케이션 컴포넌트는 내재적 컨테이너 국제화 속성을 포함합니다. 기본적으로 이는 서버로 실행됩니다. 서비스는 내재적 정책 [AMI, RunAsServer]을 자동으로 적용하고 이 영향에 대한 메시지를 로깅합니다.

올바르지 않은 컨테이너 국제화 속성은 로케일 및 시간대 ID 필드를 지정할 때 발생할 수 있습니다. 올바르지 않은 로케일 및 시간대 ID가 속성에 있는 경우 서비스는 각 값을 해당하는 JVM의 기본 요소를 대체합니다. 국제화된 애플리케이션 어셈블링에서 제공되는 가이드라인에 따라 수행하십시오.

정책 누락

서비스가 누락된 국제화 정책을 발견했습니다. 서비스는 누락된 정책을 적절한 기본값으로 대체합니다. 예를 들어, 국제화 유형이 서블릿 또는 엔터프라이즈 Bean에 대해 누락된 경우 서비스는 속성을 컨테이너로 설정합니다.

컨테이너 국제화 속성은 CMI 애플리케이션 컴포넌트에 대해서는 필수가 아닙니다. CMI 서블릿 또는 EJB 비즈니스 메소드에 컨테이너 국제화 속성이 없는 경우 서비스는 자동으로 내재적 정책 [CMI, RunAsCaller]를 적용합니다.

애플리케이션에서 해당 배치 디스크립터에 국제화 정책이 없거나 메타데이터 지원을 사용할 수 없는 경우 서비스는 메시지를 로그하고 정책 [CMI, RunAsCaller]를 모든 서블릿 서비스 메소드 및 EJB 비즈니스 메소드 호출에 적용합니다.


주제 유형을 표시하는 아이콘 참조 주제



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