Java에 대해 EGL 시스템 런타임 메시지 사용자 정의

Java™ 런타임에 오류가 발생하면 EGL 시스템 메시지가 기본적으로 표시됩니다. 각 시스템 메시지 또는 메시지 서브세트에 대해 사용자 정의 메시지를 지정할 수 있습니다.

사용자 정의 메시지는 vgj.messages.file Java 런타임 특성에서 사용자가 식별하는 특성 파일에 저장됩니다. 이 특성은 userMessageFile 빌드 디스크립터 옵션으로 설정됩니다. Java 특성 파일의 형식에 대한 자세한 정보는 프로그램 특성 파일의 내용을 참조하십시오.

메시지가 필요하면 EGL이 먼저 vgj.messages.file에서 지정된 특성 파일을 검색합니다. EGL은 필수 메시지의 메시지 ID를 특성 파일의 메시지 ID와 비교합니다. EGL은 일치하는 ID가 있는 특성 파일에서 메시지를 찾아 해당 메시지를 사용합니다. 일치하는 ID가 있는 특성 파일에 메시지가 없는 경우 EGL은 기본 시스템 메시지를 사용합니다. sysLib.getMessage 시스템 함수를 사용하여 vgj.messages.file에 지정된 특성 파일에서 메시지를 리턴할 수도 있습니다.

대부분의 경우 시스템 메시지에는 EGL이 런타임 시 검색하는 메시지 삽입을 위한 플레이스홀더가 포함됩니다. 예를 들어, 코드가 올바르지 않은 날짜 마스크를 시스템 함수에 제출하는 경우 메시지는 두 개의 플레이스홀더를 가집니다. 이 중 한 개인 플레이스홀더 0은 날짜 마스크 자체에 사용되고 다른 하나인 플레이스홀더 1은 시스템 함수의 이름에 사용됩니다. 특성 파일 형식에서 기본 메시지에 대한 항목은 다음과 같습니다.
  EGL0049E = {0}을(를) {1}에 지정 시 오버플로우가 발생했습니다.
플레이스홀더의 모두 또는 일부를 임의 순서로 포함시키기 위해 메시지의 단어 순서를 변경할 수 있지만 플레이스홀더의 번호 지정을 추가하거나 변경할 수는 없습니다. 올바른 예제는 다음과 같습니다.
  EGL0049E = {0}을(를) {1}에 지정하려 했으나 실패했습니다.

  EGL0049E = {1} = {0} : 지정 시 오버플로우가 발생했습니다.

vgj.messages.file 특성에서 식별된 파일을 열 수 없는 경우 프로그램이 종료됩니다.

COBOL에 대해 생성된 시스템 메시지의 경우 첫 번째 플레이스홀더는 {0}이(가) 아닌 {1}입니다.

기타 세부사항은 Java 언어 문서에서 사용 가능합니다.
  • 메시지가 처리되는 방법 및 올바른 컨텐츠에 대한 세부사항은 Java 클래스 java.text.MessageFormat의 문서를 참조하십시오.
  • 특성 파일에서 항상 사용되는 ISO 8859-1 문자 인코딩에서 직접 표시할 수 없는 처리 문자에 대한 세부사항은 Java 클래스 java.util.Properties의 문서를 참조하십시오.

사용자 정의 메시지 파일 작성

Java 런타임에서 오류가 발생할 때 표시되는 사용자 정의 메시지를 포함하는 특성 파일을 작성할 수 있습니다. 이러한 메시지는 기본 시스템 메시지를 대체합니다.

  1. 사용자 정의 메시지의 특성 파일을 작성하려면 다음을 수행하십시오.
    1. 프로젝트 탐색기 보기에서 EGL 프로젝트의 Java 자원 폴더를 마우스 오른쪽 단추로 클릭하십시오.
    2. 새로 작성 > 기타를 클릭하십시오.
    3. 새 창에서 일반을 펼치고 파일을 클릭하십시오.
    4. 다음을 클릭하십시오.
    5. 상위 폴더 입력 또는 선택 필드에서 프로젝트의 Java 자원 폴더가 선택되었는지 확인하십시오.
    6. 파일 이름 필드에서 .properties로 끝나는 특성 파일의 이름을 입력하십시오. 올바른 파일 이름의 예제는 messages.properties입니다.
    7. 완료를 클릭하십시오. 새 파일이 작성되고 편집기에서 열립니다.
  2. 사용자 정의 메시지를 메시지 파일에 추가하려면 다음을 수행하십시오.
    1. 대체할 시스템 메시지의 메시지 ID를 찾거나 새 메시지를 추가 중인 경우 새 메시지 ID를 작성하십시오.

      문서에 시스템 메시지, 해당 메시지 ID, 메시지의 플레이스홀더에 대한 정보가 포함됩니다. 런타임 오류 코드을 참조하십시오.

    2. 다음 형식으로 메시지 파일에 행을 추가하십시오.
      messageID = customMessage
      messageID
      시스템 메시지의 ID입니다.
      customMessage
      메시지의 플레이스홀더를 포함하여 시스템 메시지 대신 표시할 사용자 정의 메시지입니다.

      예를 들어, 다음 특성 파일 행은 시스템 메시지 ID EGL0049E를 대체하며, 이는 기본적으로 Overflow when assigning {0} to {1}.입니다.

      EGL0049E = {0}을(를) {1}에 지정하려 했으나 실패했습니다.

      이 예제에서 코드 문자열 {0}{1}은 EGL이 런타임 시 검색하는 메시지 삽입의 플레이스홀더입니다. 이러한 플레이스홀더는 사용자 정의 메시지에서 선택사항입니다.

    3. 메시지 추가를 완료한 경우 메시지 파일을 저장하고 닫으십시오.
  3. genProperties 빌드 디스크립터 옵션을 GLOBAL 또는 PROGRAM으로 설정하십시오.
  4. 다음 메소드 중 하나를 사용하여 메시지 파일을 지정하십시오.
    • userMessageFile 빌드 디스크립터 옵션을 설정하여 .properties 확장자 없이 메시지 파일의 이름을 지정하십시오. 예를 들어, 메시지 파일이 messages.properties로 이름 지정된 경우 userMessageFile 빌드 디스크립터 옵션을 messages로 설정하십시오.

      userMessageFile 빌드 디스크립터 옵션은 메시지 파일을 지정하는 런타임 특성인 vgj.messages.file Java 런타임 특성을 설정합니다. 이 메소드는 EGL 프로젝트의 유형에 적용됩니다.

    • J2EE 배치 디스크립터에서(EGL 배치 디스크립터가 아님) vgj.messages.file Java 런타임 특성을 설정하여 메시지 파일의 이름을 지정하십시오. 이 메소드는 J2EE 프레임워크 내에서 사용된 프로젝트에만 적용됩니다. J2EE 배치 디스크립터에서 vgj.messages.file 런타임 특성을 설정하려면 다음 단계를 따르십시오.
      1. 프로젝트 탐색기 보기에서 프로젝트의 J2EE 배치 디스크립터를 마우스 오른쪽 단추로 클릭하십시오. 배치 디스크립터가 배치 디스크립터 편집기에서 열립니다.
      2. 변수 탭을 클릭하십시오.
      3. 환경 변수 아래에서 추가를 클릭하십시오. 환경 항목 추가 창이 열립니다.
      4. 이름 필드에 vgj.messages.file을 입력하십시오.
      5. 입력 필드에서 문자열을 선택하십시오.
      6. 필드에서 .properties 확장자 없이 메시지 파일의 이름을 입력하십시오. 예를 들어, 메시지 파일이 messages.properties로 이름 지정된 경우 messages를 입력하십시오.
      7. 완료를 클릭하십시오.
    • rununit.properties 파일에서 vgj.messages.file 특성을 설정하여 메시지 파일의 이름을 지정하십시오. 이 메소드는 J2EE 프레임워크 내에서 사용된 프로젝트에만 적용됩니다. rununit.properties 파일에서 vgj.messages.file 런타임 특성을 설정하려면 다음 단계를 따르십시오.
      1. Java 자원 폴더에서 rununit.properties 파일을 여십시오. 이 파일은 genProperties 특성이 GLOBAL로 설정된 파일을 처음으로 생성할 때 작성됩니다. PROGRAM으로 설정된 genProperties로 생성하는 경우 특성 파일이 pgmNameOrAlias.properties로 이름 지정되며 생성된 프로그램의 Java 패키지에 위치합니다.
      2. 특성 파일에서 다음 코드를 추가하십시오.
        vgj.messages.file = messageFileName
      3. messageFileName.properties 확장자 없이 메시지 파일 이름의 이름으로 대체하십시오. 예를 들어, 메시지 파일이 messages.properties로 이름 지정되는 경우 vgj.messages.file = messages를 입력하십시오.
      4. 특성 파일을 저장하고 닫으십시오.
  5. 메시지를 다른 언어로 현지화하려는 경우 해당 언어에 대해 추가 특성 파일을 작성하십시오.
    1. 해당 언어를 나타내기 위해 새 파일에 로케일 접미부를 추가하여, 제공할 각 언어에 대해 새 특성 파일을 작성하십시오. 예를 들어, 원래 특성 파일이 messages.properties로 이름 지정된 경우 독일어로 된 메시지 파일은 messages_de.properties로 이름 지정될 수 있습니다.
    2. 각 새 파일에서 첫 번째 특성 파일에서 사용된 메시지 ID를 반복하십시오.
    3. 새 파일에서 메시지 ID를 변경하지 않고 메시지의 텍스트를 변환하십시오.
    4. 언어 이름에 대해 targetNLS 빌드 디스크립터 옵션으로 생성하거나 언어를 sysLib.setLocale() 시스템 함수로 설정하여 지정된 언어를 사용하도록 애플리케이션을 설정하십시오.
  6. 프로젝트에서 EGL 파일을 생성하십시오.