Índice

wrapper.java.additional.<n>

Compatibilidad :1.0.0
Ediciones :Edición ProfesionaEdición EstándarEdición de la Comunidad
Plataformas :WindowsMac OSXLinuxIBM AIXFreeBSDHP-UXSolarisIBM z/Linux

Parámetros de Java adicionales para pasar a Java cuando se inicia. Estos no son parámetros para su aplicación, sino parámetros para la JVM.

<n> component:

Cada elemento tiene un nombre de propiedad que empieza con "wrapper.java.additional." y el componente "<n>" del nombre de la propiedad es un número entero a partir de "1". Por defecto, la numeración debe estar en secuencia sin espacios. La propiedad wrapper.ignore_sequence_gaps se puede configurar opcionalmente para permitir espacios en la secuencia.

Ejemplo:
wrapper.java.additional.1=-server
wrapper.java.additional.2=-Dprop=TRUE

Es importante que cada propiedad solamente defina un único argumento para la JVM. Si el valor debe incluir un espacio, es necesario agregar comillas siguiendo las reglas que se describen a continuación..

Ejemplo (Incorrecto):
wrapper.java.additional.1=-server -Dprop=TRUE

NOTA

Para propiedades específicas de la aplicación, especialmente aquellas con valores que contienen datos confidenciales, considere usar wrapper.app.properties.<n>.

NOTA

Cuando la propiedad wrapper.java.detect_debug_jvm se establece en TRUE, si una de las propiedades wrapper.java.additional.<n> se establece como "-Xdebug", el Wrapper considerará que la máquina JVM está usando un depurador e ignorará ciertos tiempos de espera.

Si desea cambiar dinámicamente la lista de parámetros Java adicionales, hay algunas formas de hacerlo. La primera es utilizar archivos de inclusión en cascada para agregar un archivo de configuración generado que enumere las propiedades wrapper.java.additional.<n> junto con las opciones de la JVM. Como alternativa, puede utilizar la propiedad wrapper.java.additional_file para hacer referencia a un archivo de parámetros donde simplemente enumeraría las opciones de JVM sin propiedades. Finalmente, puede pasar wrapper.java.additional.<n> como propiedades de línea de comando al iniciar el Wrapper.

wrapper.java.additional.<n>.stripquotes

Compatibilidad :1.0.0
Ediciones :Edición ProfesionaEdición EstándarEdición de la Comunidad
Plataformas :Windows (No Compatible)Mac OSXLinuxIBM AIXFreeBSDHP-UXSolarisIBM z/Linux

Si un valor de wrapper.java.additional.<n> contiene comillas, el contenido de las comillas se pasará a la JVM como un único argumento en Windows. Sin embargo, en UNIX, las comillas también se incluirán como parte del valor del argumento. En la mayoría de los casos este no es el comportamiento correcto en UNIX, pero es así para mantener la compatibilidad con versiones anteriores.

La propiedad wrapper.java.additional.<n>.stripquotes permite indicarle al Wrapper que elimine automáticamente estas comillas adicionales en UNIX. La propiedad se ignora en Windows.

El valor predeterminado es el valor de la propiedad wrapper.java.additional.default.stripquotes, que a su vez tiene como valor predeterminado "FALSE".

Componente <n>:

Cada elemento tiene un nombre de propiedad que comienza con "wrapper.java.additional." y el componente "<n>" del nombre de la propiedad es un número entero que cuenta desde "1". Por defecto, la numeración debe estar en secuencia sin espacios. La propiedad wrapper.ignore_sequence_gaps se puede configurar opcionalmente para permitir espacios en la secuencia.

Ejemplo:
wrapper.java.additional.1.stripquotes=FALSE

Al eliminar las comillas, se realizarán los siguientes reemplazos. Todos los demás caracteres permanecerán inalterados.

  • '\\' se convertirá en '\',
  • '\"' se convertirá en '"'
  • '"' se convertirá en ''
Ejemplo:
wrapper.java.additional.1=-server
wrapper.java.additional.2=-Dprop=TRUE
wrapper.java.additional.3=-Dmyapp.data="../MyApp Home"
wrapper.java.additional.3.stripquotes=TRUE

wrapper.java.additional.default.stripquotes

Compatibilidad :3.5.17
Ediciones :Edición ProfesionaEdición EstándarEdición de la Comunidad
Plataformas :Windows (No Compatible)Mac OSXLinuxIBM AIXFreeBSDHP-UXSolarisIBM z/Linux

Permite cambiar el comportamiento predeterminado de las comillas en UNIX cuando desea tener el mismo comportamiento para todos los valores de las propiedades wrapper.java.additional.<n>. El valor predeterminado es "FALSE". La propiedade se ignorará en Windows.

Ejemplo:
wrapper.java.additional.default.stripquotes=FALSE

wrapper.java.additional.<n>.java_version.min

Compatibilidad :3.5.36
Ediciones :Edición ProfesionaEdición EstándarEdición de la Comunidad (No Compatible)
Plataformas :WindowsMac OSXLinuxIBM AIXFreeBSDHP-UXSolarisIBM z/Linux

Esta propiedad se puede utilizar para agregar la opción con el índice 'n' solo si la versión de Java es mayor o igual al valor especificado.

El valor predeterminado es '1.4', que es el la versión más antigua compatible con el Wrapper. Cualquier valor inferior no es válido y hará que el Wrapper se detenga.

El valor puede ser en los formatos '1.major[.minor[_revision]]' o 'major[.minor[.revision]]', independientemente de la versión de Java. Esto se hace para admitir ambos esquemas de numeración devueltos por 'java -version': antes de Java 9 se utilizaba el primer formato, mientras que Java 9 y versiones posteriores utilizan el segundo formato.

Los corchetes indican que los componentes de versión menor y de revisión son opcionales. Si se deja uno o ambos sin especificar, significa que estos marcadores de posición aceptarán cualquier número.

La opción con índice 'n' se ignora para cualquier versión de Java inferior a 1.7:
wrapper.java.additional.<n>.java_version.min=1.7
La opción con índice 'n' se ignora para cualquier versión de Java inferior a 8.0.40:
wrapper.java.additional.<n>.java_version.min=8.0.40

ADVERTENCIA

wrapper.java.additional.<n>.java_version.max

Compatibilidad :3.5.36
Ediciones :Edición ProfesionaEdición EstándarEdición de la Comunidad (No Compatible)
Plataformas :WindowsMac OSXLinuxIBM AIXFreeBSDHP-UXSolarisIBM z/Linux

Esta propiedad se utiliza para agregar la opción con el índice 'n' solo si la versión de Java es menor o igual al valor especificado.

El valor predeterminado es 'UNLIMITED'.

El valor puede ser en los formatos '1.major[.minor[_revision]]' o 'major[.minor[.revision]]', independientemente de la versión de Java. Esto se hace para admitir ambos esquemas de numeración devueltos por 'java -version': antes de Java 9 se utilizaba el primer formato, mientras que Java 9 y versiones posteriores utilizan el segundo formato.

Los corchetes indican que los componentes de versión menor y de revisión son opcionales. Si se deja uno o ambos sin especificar, significa que estos marcadores de posición aceptarán cualquier número.

La opción con índice 'n' se ignora para cualquier versión de Java mayor a 9.0.1:
wrapper.java.additional.<n>.java_version.max=9.0.1
La opción con índice 'n' se ignora para cualquier versión de Java mayor a 9:
wrapper.java.additional.<n>.java_version.max=9

ADVERTENCIA

wrapper.java.additional.<n>.app_only

Compatibilidad :3.5.57, Requires Java 9+ (Deprecated as of 3.5.60)
Ediciones :Edición ProfesionaEdición EstándarEdición de la Comunidad
Plataformas :WindowsMac OSXLinuxIBM AIXFreeBSDHP-UXSolarisIBM z/Linux

ADVERTENCIA

El uso de esta propiedad ha quedado obsoleto a partir de la versión Wrapper version 3.5.60 en favor de la propiedad wrapper.java.additional.<n>.scope.

Antes de iniciar una JVM para ejecutar la aplicación Java, el Wrapper ejecutará la línea de comando Java con una opción --dry-run para verificar que la línea de comando sea válida.

La propiedad wrapper.java.additional.<n>.app_only se puede establecer en TRUE para omitir una opción para la línea de comando "--dry-run".

Esta propiedad no tiene efecto cuando se utilizan versiones de Java que no admiten la opción --dry-run (anteriores a Java 9).

El valor predeterminado es FALSE", lo que significa que la opción especificada estará presente tanto en la línea de comandos de Java real como en la línea de comandos "--dry-run". En la gran mayoría de los casos, se prefiere FALSE para que se verifiquen todas las opciones de JVM.

NOTA

Si se establece esta propiedad a TRUE, se omitirá la comprobación de validez de la opción especificada.

Sin embargo, hay algunos casos en los que establecer wrapper.java.additional.<n>.app_only como TRUE puede resultar útil. Por ejemplo, usar la opción -XX:NativeMemoryTracking=[off|summary|detail] para rastrear la memoria nativa en JVM provocará una advertencia cuando se use en la línea de comando --dry-run:

OpenJDK 64-Bit Server VM warning: Native Memory Tracking did not setup properly, using wrong launcher?

La mayoría de las veces, esta advertencia no será visible porque la salida se registrará en el nivel especificado con la propiedad wrapper.java.query.loglevel, que es DEBUG de forma predeterminada. Sin embargo, no es posible rastrear el uso de la memoria nativa de una JVM "--dry-run" porque no ejecutará el código nativo del usuario. Por lo tanto, es mejor no incluir esta opción en la línea de comandos "--dry-run".

Ejemplo (habilitar -XX:NativeMemoryTracking solo cuando se está ejecutando la aplicación):
wrapper.java.additional.4=-XX:NativeMemoryTracking=summary
wrapper.java.additional.4.app_only=TRUE

wrapper.java.additional.<n>.scope

Compatibilidad :3.5.60
Ediciones :Edición ProfesionaEdición EstándarEdición de la Comunidad
Plataformas :WindowsMac OSXLinuxIBM AIXFreeBSDHP-UXSolarisIBM z/Linux

ADVERTENCIA

NO modifique ninguno de estos parámetros a menos que haya leído la descripción de esta propiedad. Una configuración incorrecta puede hacer que el Wrapper no funcione como esperado.

Antes de iniciar la aplicación Java, el Wrapper ejecutará el comando java varias veces para determinar las características de la instalación actual de Java y las configuraciones adecuadas para la aplicación. En la mayoría de los casos, las líneas de comando para estas invocaciones de Java son construidas por el Wrapper sin que el usuario tenga que preocuparse por ello. Sin embargo, en algunos casos excepcionales puede ser necesario agregar o quitar ciertas opciones a estas líneas de comandos. Primero, elaboremos la lista de estas invocaciones de Java y sus funciones:

  • java --version: Esta invocación obtiene información sobre la instalación actual de Java (versión, proveedor, etc.). Solo utiliza el parámetro --version, no se necesitan opciones adicionales.

  • Llamada a la clase WrapperBootstrap: Esta invocación recupera información sobre la aplicación Java (módulo principal, clase principal, paquete, etc.). El Wrapper creará la línea de comandos con sus propias opciones y parámetros. En particular, la ruta de clase, la ruta del módulo y la lista de módulos deben coincidir exactamente con las del comando utilizado al iniciar la aplicación. En algunos casos excepcionales, el usuario puede agregar algunos argumentos adicionales para cargar la clase principal.

  • Llamada con la opción --dry-run: La opción --dry-run se introdujo en Java 9, por lo tanto, esta invocación no se realiza en versiones anteriores de Java. Esta llamada se utiliza para validar la línea de comandos Java justo antes de ejecutar la aplicación. La línea de comandos es esencialmente la que se utiliza al lanzar la aplicación con la opción --dry-run que especifica que el método principal no debe ejecutarse.

    En algunos casos excepcionales, es posible que se desee eliminar ciertas opciones que no son relevantes en el contexto del simulacro (dry run). Por ejemplo, usar la opción -XX:NativeMemoryTracking=[off|summary|detail] para rastrear la memoria nativa en JVM provocará una advertencia cuando se use en la línea de comando --dry-run:

    OpenJDK 64-Bit Server VM warning: Native Memory Tracking did not setup properly, using wrong launcher?
    

    La mayoría de las veces, esta advertencia no será visible porque la salida se registrará en el nivel especificado con la propiedad wrapper.java.query.loglevel, que es DEBUG de forma predeterminada. Sin embargo, no es posible rastrear el uso de la memoria nativa de una JVM "--dry-run" porque no ejecutará el código nativo del usuario. Por lo tanto, es mejor no incluir esta opción en la línea de comandos "--dry-run".

La propiedad wrapper.java.additional.<n>.scope controla en qué línea(s) de comando se debe referenciar el parámetro con índice 'n'.

Los valores posibles son:

  • DRYRUN_APP: para pasar el parámetro tanto a la instancia --dry-run como a la aplicación. Este valor es adecuado para la gran mayoría de los casos.

  • APP: para pasar únicamente el parámetro a la aplicación.

  • BOOTSTRAP_DRYRUN_APP: para pasar el parámetro a la instancia bootstrap, la instancia --dry-run y la aplicación.

El valor predeterminado es DRYRUN_APP.

Ejemplo:
# The following option is used for the --dry-run and application calls:
wrapper.java.additional.1=-Xmx1g
wrapper.java.additional.1.scope=DRYRUN_APP

# The following option is only for the application:
wrapper.java.additional.2=-agentlib:mylib
wrapper.java.additional.2.scope=BOOTSTRAP_DRYRUN_APP

# The following option is used for the --dry-run, bootstrap and Application calls:
wrapper.java.additional.3=-XX:NativeMemoryTracking=summary
wrapper.java.additional.3.scope=APP

wrapper.java.additional_file

Compatibilidad :3.5.16
Ediciones :Edición ProfesionaEdición EstándarEdición de la Comunidad
Plataformas :WindowsMac OSXLinuxIBM AIXFreeBSDHP-UXSolarisIBM z/Linux

En ciertos casos, puede resultar inconveniente enumerar los parámetros de Java en el archivo de configuración del Wrapper. Esta propiedad proporciona una forma de especificar un archivo que puede contener uno o más parámetros que se pasarán tal cual a la JVM cuando se inicie. Esto puede ser muy útil cuando la lista de parámetros necesita generarse dinámicamente o mediante un instalador.

Cualquier parámetro definido en este archivo aparecerá después de aquellos definidos mediante las propiedades wrapper.java.additional.<n> estándar.

A partir de la versión 3.5.23 del Wrapper, se ampliarán todas las referencias a variables de entorno en el archivo.

NOTA

Puede utilizar diferentes versiones de Java incluyendo la variable de entorno WRAPPER_JAVA_VERSION en el nombre del archivo.

Formato deArchivo de Parámetros:

El formato del archivo es simple.

  • Debe comenzar con una línea de directiva de codificación al igual que el archivo de configuración del Wrapper. Esto es necesario para indicarle al Wrapper qué codificación usar al leer el archivo. Si falta esta línea, el Wrapper intentará continuar después de registrar una advertencia. La codificación utilizada en el archivo puede ser diferente de la codificación utilizada en otros archivos de configuración.
  • Se pueden escribir varios parámetros en una línea separando cada parámetro con uno o más espacios.
  • También es posible dividir los parámetros en varias líneas.
  • El carácter '#' se interpreta como un carácter de comentario. Para incluir un carácter '#' en un valor de propiedad, el valor debe estar entre comillas ("#") o escapado por un segundo carácter '#'.
  • Si alguno de los valores necesita incluir un espacio, es necesario agregar comillas siguiendo las reglas que se describen a continuación para garantizar que el archivo funcione de manera consistente en todas las plataformas.
Ejemplo de Archivo de Parámetros UTF-8:
#encoding=UTF-8
# Example parameters: Multiple parameters in one line
-DTEST1=Value1 -DTEST2=Value2

# More parameters
-DTEST3=Value3

wrapper.java.additional_file.required

Compatibilidad :3.5.36
Ediciones :Edición ProfesionaEdición EstándarEdición de la Comunidad
Plataformas :WindowsMac OSXLinuxIBM AIXFreeBSDHP-UXSolarisIBM z/Linux

Especifica si el archivo adicional de Java es necesario o no. Si es necesario y no se encuentra, el Wrapper se detendrá sin iniciar la JVM. Si no es necesario, el archivo se ignorará cuando no se encuentre.

El valor predeterminado es TRUE.

Ejemplo:
wrapper.java.additional_file.required=FALSE

wrapper.java.additional_file.stripquotes

Compatibilidad :3.5.16
Ediciones :Edición ProfesionaEdición EstándarEdición de la Comunidad
Plataformas :Windows (No Compatible)Mac OSXLinuxIBM AIXFreeBSDHP-UXSolarisIBM z/Linux

Las distintas plataformas manejan los parámetros con espacios de manera diferente. Para que una configuración determinada funcione de manera consistente, siempre debe citar esos valores. En Windows, se utilizarán tal cual. Sin embargo, en las plataformas UNIX, las comillas se eliminarán a medida que la línea de comandos se divida en una lista de parámetros.

En casi todos los casos, querrá eliminar estas comillas. El valor predeterminado es "FALSE".

Ejemplo:
wrapper.java.additional_file.stripquotes=FALSE
Ejemplo de Archivo de Parámetro UTF-8:
#encoding=UTF-8
-DTEST1=Value1 -DTEST2="Test Value with spaces."

Ejemplos de Uso

Métodos de Integración

Las páginas a continuación describen 4 métodos diferentes de cómo integrar una aplicación Java con el Java Service Wrapper. Cada método se ilustra con un ejemplo que usa las propiedades wrapper.java.additional.<n> para configurar cosas como memoria, clase y rutas de biblioteca.

Control con JMX

Las propiedades wrapper.java.additional.<n> también se pueden utilizar para configurar herramientas de control como VisualVM o JConsole.

Control de Memoria Máxima en Java

El Wrapper proporciona varias propiedades para controlar la memoria que la JVM podrá utilizar. Estas propiedades tienen sus equivalentes en las propiedades wrapper.java.additional.<n>. Consulte las páginas siguientes para obtener más información.

Referencia: Parámetros