Propiedades de tiempo de ejecución Java

Un programa Java generado por EGL utiliza un conjunto de propiedades de tiempo de ejecución que proporcionan información, como por ejemplo, cómo acceder a las bases de datos y archivos que utiliza el programa.

En un entorno J2EE

En relación con un programa Java generado que se ejecutará en un entorno J2EE, se pueden dar las siguientes situaciones:
  • EGL puede generar las propiedades de tiempo de ejecución directamente en un descriptor de despliegue J2EE. En este caso, EGL sobreescribe las propiedades que ya existen y añade las propiedades que no existen. El programa accede al descriptor de despliegue J2EE durante la ejecución.
  • Como alternativa, EGL puede generar las propiedades de tiempo de ejecución en un archivo de entorno J2EE. Puede personalizar las propiedades en ese archivo y luego copiarlas en el descriptor de despliegue J2EE.
  • Puede no generar ninguna propiedad de tiempo de ejecución, en cuyo caso debe escribir manualmente las propiedades necesarias.

En un módulo J2EE, cada programa tiene las mismas propiedades de tiempo de ejecución porque todo el código del módulo comparte el mismo descriptor de despliegue.

En WebSphere Application Server, las propiedades se especifican como códigos env-entry en el archivo web.xml asociado al proyecto Web, como en estos ejemplos:
  <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>

En un entorno Java no J2EE

En relación con un programa Java generado que se ejecuta fuera de un entorno J2EE, puede generar las propiedades de tiempo de ejecución en un archivo de propiedades del programa o bien codificar manualmente dicho archivo. (El archivo de propiedades del programa proporciona el tipo de información que está disponible en el descriptor de despliegue, pero el formato de las propiedades es distinto).

En un entorno Java no J2EE, las propiedades pueden especificarse en varios archivos de propiedades; las búsquedas se realizan por este orden:
  • user.properties
  • Un archivo cuyo nombre es el siguiente:
      nombrePrograma.properties
    nombrePrograma
    El primer programa de la unidad de ejecución
  • rununit.properties

La utilización de user.properties es adecuada cuando especifica propiedades que son específicas de un usuario. EGL no genera contenido para este archivo.

La utilización de rununit.properties es especialmente apropiada cuando el primer programa de una unidad de ejecución no accede a un archivo o base de datos pero llama a programas que sí lo hacen:
  • Al generar el llamador, puede generar un archivo de propiedades con un nombre para el programa, y el contenido podría no incluir propiedades relacionadas con el archivo o la base de datos
  • Al generar el programa llamado, puede generar rununit.properties y el contenido estaría disponible para ambos programas

Ninguno de estos archivos es obligatorio y los programas simples no necesitan ninguno.

En tiempo de despliegue, se aplican las reglas siguientes:
  • El archivo de propiedades de usuario ( user.properties, si está presente) está en el directorio inicial del usuario, según viene determinado por la propiedad del sistema Java user.home.
  • La ubicación de un archivo de propiedades de programa (si está presente) depende de si el programa está en un paquete. Las reglas se ilustran mejor con ejemplos:
    • Si el programa P está en el paquete x.y.z y se despliega en MyProject/JavaSource, el archivo de propiedades del programa debe estar en MyProject/JavaSource/x/y/z
    • Si el programa P no está en un paquete y se despliega en myProject/JavaSource, el archivo de propiedades del programa (como el archivo de propiedades global) debe estar en MyProject/JavaSource

    En cualquier caso, MyProject/JavaSource debe estar en la vía de acceso de clases.

  • El archivo de propiedades global (rununit.properties, si está presente) debe estar con el programa, en un directorio especificado en la vía de acceso de clases.

Si genera salida a un proyecto Java, sitúa los archivos de propiedades (que no sean user.properties) en las carpetas adecuadas.

Si está generando código Java para utilizarlo en la misma unidad de ejecución que el código Java generado con una versión anterior de EGL o VisualAge Generator, las reglas para desplegar archivos de propiedades dependen de si el primer programa de la unidad de ejecución se generó con EGL 6.0 o una versión posterior (en cuyo caso se aplican las reglas descritas aquí) o de si el primer programa se generó con una versión anterior de EGL o VisualAge Generator (en cuyo caso, los archivos de propiedades pueden estar en cualquier directorio de la vía de acceso de clases y el archivo global se llama vgj.properties).

Finalmente, si el primer programa se generó con el software más antiguo, puede especificar un archivo de propiedades alternativo que se utiliza en toda la unidad de ejecución en lugar de los archivos de propiedades de programa no globales. Para obtener más detalles, consulte la descripción de la propiedad vgj.properties.file en las propiedades de tiempo de ejecución Java (detalles).

Descriptores de construcción y propiedades de programa

Las opciones se envían a EGL en forma de valores de opciones del descriptor de construcción:
  • Para generar propiedades en un descriptor de despliegue J2EE, establezca J2EE en YES; establezca genProperties en PROGRAM o GLOBAL; y genere en un proyecto J2EE.
  • Para generar propiedades en un archivo de entorno J2EE, establezca J2EE en YES; establezca genProperties en PROGRAM o GLOBAL; y realice una de estas dos acciones:
    • Genere en un directorio (en cuyo caso, utilice la opción del descriptor de construcción genDirectory en lugar de genProject); o bien
    • Genere en un proyecto no J2EE.
  • Para generar un archivo de propiedades del programa con el mismo nombre que el programa que se está generando, establezca J2EE en NO; establezca genProperties en PROGRAM; y genere en un proyecto que no sea un proyecto J2EE.
  • Para generar un archivo de propiedades del programa rununit.properties, establezca J2EE en NO; establezca genProperties en GLOBAL; y genere en un proyecto que no sea un proyecto J2EE.
  • Para no generar propiedades, establezca genProperties en NO.

Para obtener más información

Para obtener información detallada sobre cómo generar propiedades en un descriptor de despliegue o en un archivo de entorno J2EE, consulte la sección Establecer valores del descriptor de despliegue.

Para obtener información detallada sobre el significado de las propiedades de tiempo de ejecución, consulte la sección Propiedades de tiempo de ejecución Java (detalles).

Para obtener detalles sobre cómo acceder a las propiedades de tiempo de ejecución en el código EGL, consulte la sección sysLib.getProperty.

Condiciones de uso | Comentarios
(C) Copyright IBM Corporation 2000, 2005. Reservados todos los derechos.