Java 런타임 특성 개요

EGL 생성 Java™ 프로그램은 런타임 시 정보를 제공하는 특성 세트를 사용합니다. 이 Java 런타임 특성 중 대부분은 EGL 빌드 파트 편집기에서 빌드 디스크립터 파트를 편집하여 사용자가 값을 지정하는 빌드 디스크립터 옵션을 사용하여 설정됩니다.

참고: EGL 생성 Java VGWebTransaction 프로그램은 특별한 경우를 나타냅니다. 해당 프로그램이 J2EE 환경 또는 비J2EE 환경에서 실행되는지 여부는 프로그램 특성 enableJ2EE의 설정에 의해 판별됩니다. (기본값은 NO입니다.) VGWebTransaction 프로그램에 대해 작업하기 때문에 이 주제를 읽고 있는 경우에는 빌드 디스크립터 옵션 j2ee에 대한 참조를 읽을 때마다 프로그램 특성 enableJ2EE의 값을 대신 고려하십시오.
생성 중에 빌드 디스크립터 옵션의 값은 해당 Java 런타임 특성에 저장되며 이 특성은 다음 파일 중 하나에 나열됩니다.
  • J2EE 환경에서 출력을 배치하는 경우 해당 특성은 J2EE 배치 디스크립터에 저장됩니다.
  • 비J2EE 환경에서 출력을 배치하는 경우 해당 특성은 프로그램 특성 파일에 저장됩니다.
  • j2ee 빌드 디스크립터 옵션을 YES로 설정하고 genDirectory 빌드 디스크립터 옵션에 대한 디렉토리를 지정한 경우 Java 런타임 특성은 J2EE 환경 파일에 저장됩니다. j2ee 빌드 디스크립터 옵션을 YES로 설정하고 genProject 빌드 디스크립터 옵션을 비J2EE 프로젝트로 설정한 경우에도 J2EE 환경 파일이 작성됩니다.

그런 다음 J2EE 배치 디스크립터 또는 Java 특성 파일로 이동하여 코드를 다시 생성하지 않고 런타임 특성의 값을 편집할 수 있습니다.

EGL이 빌드 디스크립터 옵션을 사용하여 런타임 특성을 작성하려면 사용자가 genProperties 빌드 디스크립터 옵션을 PROGRAM 또는 GLOBAL로 설정해야 합니다.

빌드 디스크립터 및 프로그램 특성

Java 런타임 특성을 생성하는 경우 해당 특성은 다음 시나리오 중 하나를 따라 작성되고 저장됩니다.
  1. Java 런타임 특성을 J2EE 배치 디스크립터에 생성하려면 다음의 단계를 수행하십시오.
    1. j2ee 빌드 디스크립터 옵션을 YES로 설정하십시오.
    2. genProperties 빌드 디스크립터 옵션을 PROGRAM 또는 GLOBAL로 설정하십시오.
    3. 코드를 J2EE 프로젝트에 생성하십시오.
  2. 특성을 J2EE 환경 파일에 생성하려면 다음의 단계를 수행하십시오.
    1. j2ee 빌드 디스크립터 옵션을 YES로 설정하십시오.
    2. genProperties 빌드 디스크립터 옵션을 PROGRAM 또는 GLOBAL로 설정하십시오.
    3. 다음 중 하나를 수행하십시오.
      • 디렉토리에 생성(이 경우 genProject 대신 genDirectory 빌드 디스크립터 옵션을 사용함) 또는
      • 비J2EE 프로젝트에 생성
    J2EE 환경 파일에 저장된 특성은 사용자가 생성할 때 자동으로 업데이트되지 않습니다.
  3. 생성 중인 프로그램과 동일한 이름을 가진 프로그램 특성 파일을 생성하려면 다음의 단계를 수행하십시오.
    1. j2ee 빌드 디스크립터 옵션을 NO로 설정하십시오.
    2. genProperties 빌드 디스크립터 옵션을 PROGRAM으로 설정하십시오.
    3. 다음 중 하나를 수행하십시오.
      • 디렉토리에 생성(이 경우 genProject 대신 genDirectory 빌드 디스크립터 옵션을 사용함) 또는
      • 비J2EE 프로젝트에 생성
  4. rununit.properties라는 프로그램 특성 파일을 생성하려면 다음의 단계를 수행하십시오.
    1. j2ee 빌드 디스크립터 옵션을 NO로 설정하십시오.
    2. genProperties 빌드 디스크립터 옵션을 GLOBAL로 설정하십시오.
    3. 다음 중 하나를 수행하십시오.
      • 디렉토리에 생성(이 경우 genProject 대신 genDirectory 빌드 디스크립터 옵션을 사용함) 또는
      • 비J2EE 프로젝트에 생성
  5. 특성 생성을 방지하려면 genProperties를 NO로 설정하십시오.

J2EE 환경에서

J2EE 환경에서 실행된 Java 프로그램을 생성하는 경우에는 다음 방법 중 하나로 Java 런타임 특성을 작성할 수 있습니다.
  • 이전 절의 첫 번째 시나리오에 있는 단계를 수행하여 Java 런타임 특성을 J2EE 배치 디스크립터에 직접 생성할 수 있습니다. 이 경우 EGL은 이미 존재하는 특성은 겹쳐쓰고 존재하지 않는 특성은 추가합니다. 생성된 Java 프로그램은 런타임 시 J2EE 배치 디스크립터에 액세스합니다.
  • 또는 이전 절의 두 번째 시나리오에 있는 단계를 수행하여 런타임 특성을 J2EE 환경 파일에 생성할 수 있습니다. 해당 파일에서 특성을 사용자 정의한 후 J2EE 배치 디스크립터에 복사할 수 있습니다.
  • 이전 절의 다섯 번째 시나리오를 수행하고 genProperties 빌드 디스크립터 옵션을 NO로 설정하여 런타임 특성을 아예 생성하지 않을 수도 있습니다. 이 경우에는 필요한 Java 런타임 특성을 사용자가 직접 작성해야 합니다.

J2EE 모듈에서는 모듈의 모든 코드가 동일한 J2EE 배치 디스크립터를 공유하므로 모든 프로그램이 동일한 런타임 특성을 가지고 있습니다.

J2EE 서버의 경우 특성은 다음 예제와 같이 웹 프로젝트와 연관된 web.xml 파일에서 env-entry 태그로 지정됩니다.
  <env-entry>
		  <env-entry-name>vgj.nls.code</env-entry-name>
    <env-entry-value>ENU</env-entry-value>
    <env-entry-type>java.lang.String</env-entry-type>
  </env-entry>

  <env-entry>
    <env-entry-name>vgj.nls.number.decimal</env-entry-name>
    <env-entry-value>.</env-entry-value>
    <env-entry-type>java.lang.String</env-entry-type>
  </env-entry>

비J2EE 환경에서

J2EE 환경 외부에서 실행될 Java 프로그램을 생성하는 경우에는 genProperties 빌드 디스크립터 옵션을 PROGRAM 또는 GLOBAL로 설정하여 EGL이 런타임 특성을 프로그램 특성에 생성하게 하거나 사용자가 직접 프로그램 특성 파일을 코드화할 수 있습니다. 프로그램 특성 파일은 배치 디스크립터에서 사용 가능한 유형의 정보를 제공하지만 특성의 형식은 다릅니다.

비J2EE Java 환경에서는 다음과 같은 순서로 검색되는 몇몇 특성 파일에서 런타임 특성을 지정할 수 있습니다.
  1. user.properties
  2. 다음과 같이 이름 지정되는 파일:
      programName.properties
    여기서 programName은 실행 단위의 첫 번째 프로그램입니다.
  3. rununit.properties

user.properties는 사용자에게 고유한 특성을 지정할 때 적절하게 사용할 수 있습니다. EGL은 이 파일에 대한 컨텐츠를 생성하지 않습니다.

rununit.properties는 실행 단위의 첫 번째 프로그램이 파일 또는 데이터베이스에 액세스하지 않지만 파일 또는 데이터베이스에 액세스하는 프로그램을 호출할 때 특히 적절하게 사용할 수 있습니다. 예를 들어, 다음과 같습니다.
  • 호출하는 프로그램을 생성할 때 사용자는 생성된 프로그램에 대해 이름 지정된 프로그램 특성 파일을 생성할 수 있으며 컨텐츠에는 데이터베이스 또는 파일 관련 특성이 포함되지 않을 수 있습니다.
  • 호출된 프로그램을 생성할 때 사용자는 rununit.properties를 생성할 수 있으며 두 프로그램 모두에 대해 컨텐츠를 사용할 수 있습니다.

두 특성 파일은 필수가 아니므로 단순 프로그램에는 두 특성 파일이 필요하지 않습니다.

비J2EE 코드 배치를 위한 규칙

배치 시 다음과 같은 규칙이 적용됩니다.
  • 사용자 특성 파일 user.properties(있는 경우)는 user.home Java 시스템 특성에 의해 판별된 대로 사용자 홈 디렉토리에 있습니다.
  • 프로그램 특성 파일의 위치(있는 경우)는 프로그램이 패키지 안에 있는지 여부에 따라 다릅니다. 다음 예제에 이 규칙이 잘 설명되어 있습니다.
    • 프로그램 P가 패키지 x.y.z 안에 있고 MyProject/src에 배치되는 경우 프로그램 특성 파일은 MyProject/src/x/y/z에 있어야 함
    • 프로그램 P가 패키지 안에 있지 않고 MyProject/src에 배치되는 경우 프로그램 특성 파일(예: 글로벌 특성 파일)은 MyProject/src에 있어야 함

    어느 경우든 MyProject/src는 클래스 경로에 있어야 합니다.

  • 글로벌 특성 파일 rununit.properties(있는 경우)는 프로그램과 함께 클래스 경로에서 지정되는 디렉토리에 있어야 합니다.

출력을 Java 프로젝트에 생성하는 경우 EGL은 user.properties 이외의 특성 파일을 적절한 폴더에 배치합니다.

EGL 코드의 런타임 특성에 액세스하는 것에 대한 세부사항은 EGL 언어 참조서에서 "getProperty()" 및 "실행 단위" 주제를 참조하십시오.