Índice

wrapper.app.parameter.<n>

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

Estas propiedades se usan para especificar parámetros que se pasarán al método principal de su aplicación.

Cuando el valor de la propiedad wrapper.java.mainclass es org.tanukisoftware.wrapper.WrapperSimpleApp, el primer parámetro para la aplicación debe ser el nombre de la clase que contiene su método principal. Luego, todos los demás parámetros se pasan al método principal de la aplicación en orden. Consulte la sección Integración para más detalles.

Componente <n>:

Cada elemento tiene un nombre de propiedad que empieza con wrapper.app.parameter. y el componente "<n>" del nombre de la propiedad es un número entero contando a partir de "1". Por defecto, no puede faltar números. La propiedad wrapper.ignore_sequence_gaps se puede configurar opcionalmente para permitir vacíos en la secuencia.


Entrada de parámetros individuales:

Es importante que cada propiedad solamente defina un único parámetro.

Esto se interpretará como un punico parámetro:
wrapper.app.parameter.1=-c conf/myconffile.conf

Esto se interpretará como dos parámetros:
wrapper.app.parameter.1=-c
wrapper.app.parameter.2=conf/myconffile.conf


Comillas:

Versión 3.6.0 y superiores

A partir de la versión 3.6.0, el manejo de caracteres especiales ha cambiado para garantizar la coherencia en todas las plataformas. En la mayoría de los casos, puede escribir el valor del parámetro exactamente como desee que se reciba por la aplicación Java.

Una excepción a esto son los espacios iniciales o finales, que normalmente se eliminan de los valores de las propiedades. Para conservar estos espacios, es necesario encapsular el valor entre comillas. Estas comillas se eliminarán si la propiedad "quotable" correspondiente se establece en TRUE. Para conservar las comillas en el valor, escápelas con el carácter '\'. Las barras invertidas también deben duplicarse ('\\'). No se permite escapar ningún otro carácter.

Al eliminar comillas, solo se aplicarán los siguientes cambios:

  • '\\' se convertirá en '\',
  • '\"' se convertirá en '"'
  • '"' se convertirá en ''
Ejemplo:
wrapper.app.parameter.1="  my arg"
wrapper.app.parameter.1.quotable=TRUE

Versiones anteriores a 3.6.0

En versiones anteriores del Wrapper, la forma como se administran las comillas varia de acuerdo con la plataforma. En Windows, el proceso Java se crea mediante una línea de comandos donde los argumentos que contienen espacios deben ir entre comillas. Las comillas se eliminan automáticamente de la línea de comandos al iniciar el proceso. En Linux, sin embargo, se utiliza una matriz y los argumentos se pasan directamente.

Para simular el comportamiento de Windows y utilizar la misma configuración en todas las plataformas, es posible marcar ciertos parámetros con un indicador de eliminación de comillas (propiedad stripquotes = TRUE). Este indicador solo se utiliza en Unix, y especifica que las comillas de deben eliminar antes de pasar el (los) parámetro(s) a la JVM.

Al eliminar las comillas, todos los demás caracteres, excepto los siguientes, permanecerán sin cambios.

  • '\\' se convertirá en '\',
  • '\"' se convertirá en '"'
  • '"' se convertirá en ''

wrapper.app.parameter.<n>.quotable

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

Si un valor de parámetro necesita incluir espacios iniciales o finales, puede conservarlos encapsulando el valor entre comillas. Estas comillas se eliminarán si establece la propiedad wrapper.app.parameter.<n>.quotable correspondiente en TRUE.

El valor predeterminado de esta propiedad es "FALSE".

Cuando una propiedad "quotable" se establece en TRUE, las comillas reales que se conservarán en el valor correspondiente deben entonces escaparse con un carácter '\', y las barras invertidas deben duplicarse ('\\'). No se permite escapar ningún otro carácter.

Al eliminar comillas, se realizarán los siguientes reemplazos.

  • '\\' se convertirá en '\',
  • '\"' se convertirá en '"'
  • '"' se convertirá en ''
Ejemplo:
wrapper.app.parameter.1="  param1"
wrapper.app.parameter.1.quotable=TRUE
wrapper.app.parameter.2="  param2 with\"quotes\""
wrapper.app.parameter.2.quotable=TRUE

wrapper.app.parameter.<n>.stripquotes

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

ADVERTENCIA

A partir de la versión 3.6.0, esta propiedad ya no es necesaria y, por lo tanto, deja de ser válida. Cualquier valor marcado con "stripquotes" debe revisarse para no escapar más las barras invertidas ('\') y las comillas ('"').

Si un valor de wrapper.app.parameter.<n> contiene comillas, el contenido de las comillas se pasará a la aplicación Java como un argumento único 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.app.parameter.<n>.stripquotes hace posible indicarle al Wrapper que elimine automáticamente las comillas adicionales en UNIX. Esta propiedad se ignora en Windows.

Tiene como valor predeterminado el valor de la propiedad wrapper.app.parameter.default.stripquotes, que a su vez tiene como valor predeterminado "FALSE".

Los siguientes reemplazos se realizarán al eliminar las comillas. Todos los demás caracteres permanecerán sin cambios.

  • '\\' se convertirá en '\',
  • '\"' se convertirá en '"'
  • '"' se convertirá en ''
Ejemplo:
wrapper.app.parameter.1="parm1"
wrapper.app.parameter.1.stripquotes=TRUE
wrapper.app.parameter.2=parm=\"value\"
wrapper.app.parameter.2.stripquotes=TRUE

wrapper.app.parameter.default.stripquotes

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

ADVERTENCIA

A partir de la versión 3.6.0, esta propiedad ya no es necesaria y, por lo tanto, deja de ser válida. Cualquier valor marcado con "stripquotes" debe revisarse para no escapar más las barras invertidas ('\') y las comillas ('"').

Permite cambiar el comportamiento predeterminado de las comillas en UNIX cuando desee tener el mismo comportamiento para los valores de todas las propiedades wrapper.app.parameter.<n>. El valor predeterminado es "FALSE". Esta propiedad se ignora en Windows.

Ejemplo:
wrapper.app.parameter.default.stripquotes=FALSE

wrapper.app.parameter_file

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

Esta propiedad proporciona una manera de especificar un archivo que puede contener uno o más parámetros que se pasarán a la JVM. Esto puede ser muy útil cuando la lista de parámetros debe generarse dinámicamente o por un instalador.

Cualquier parámetro definido en este archivo aparecerá después los definidos ulitizando las propiedades wrapper.app.parameter.<n> estándar.

A partir de la versión 3.5.23 del Wrapper, cualquier referencia de variable de entorno en el archivo se expandirá.


Formato del Archivo:

El formato del archivo es simple.

  • Debe empezar con una línea directiva de codificación como en el archivo de configuración del Wrapper. Esto es necesario para indicar al Wrapper cual codificación utilizar para leer el archivo. Si falta esta línea, el Wrapper intentará continuar después de registrar una advertencia. La codificación usada en el archivo puede ser diferente de la codificación usada en otros archivos de configuración.
  • El carácter '#' se interpreta como un carácter de comentario. Para incluir un carácter '#' en el valor de una propiedad, el valor debe o estar entre comillas ("#") o "escapado" por un segundo carácter '#'.
  • De forma predeterminada, cualquier línea que no esté vacía y que no sea un comentario se interpretará como un parámetro cuyo valor abarca toda la línea. Este comportamiento se puede cambiar estableciendo la propiedad wrapper.app.parameter_file.quotable en TRUE. En este modo, los argumentos se delimitan con espacios sin comillas. Esto permite incluir varios parámetros en la misma línea. Los valores que contienen espacios deben ir entre comillas.

Ejemplo de Archivo de Parámetros (con .quotable=FALSE):
@encoding=UTF-8
# Parámetros de ejemplo: Un parámetro por línea
param1
param2 con espacio
param3
param4

Ejemplo de Archivo de Parámetros (con .quotable=TRUE):
@encoding=UTF-8
# Parámetros de ejemplo: Múltiples parámetros en una línea
param1 "param2 with space" param3

# Más parámetros
param4

NOTA

Las versiones anteriores a 3.6.0 no tienen el modo "quotable" (encomillable), y siempre se permiten múltiples parámetros por línea.

Si uno de los valores necesita incluir un espacio, es necesario agregar comillas siguiendo las reglas que se describen a continuación para asegurarse de que el archivo funcione de manera consistente entre todas las plataformas.

wrapper.app.parameter_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 de parámetros es obligatorio o no. Si es obligatorio y no se encuentra, el Wrapper se detendrá sin iniciar la máquina JVM. Si no es obligatorio, el archivo se ignorará cuando no se encuentre.

El valor predeterminado es TRUE.

Ejemplo:
wrapper.app.parameter_file.required=FALSE

wrapper.app.parameter_file.quotable

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

Cuando se configura en TRUE, se eliminarán las comillas del archivo de parámetros. Esto permite usar comillas como delimitadores de valores y, por lo tanto, enumerar varios parámetros en una sola línea.

Además, las comillas se pueden utilizar como delimitadores para conservar espacios iniciales o finales en los valores de los parámetros.

El valor predeterminado de esta propiedad es "FALSE".

ADVERTENCIA

Las versiones anteriores a 3.6.0 no tienen el modo "quotable" (encomillable), y siempre se permiten múltiples parámetros por línea.

Si uno de los valores necesita incluir un espacio, es necesario agregar comillas siguiendo las reglas que se describen a continuación para asegurarse de que el archivo funcione de manera consistente entre todas las plataformas.

En el ejemplo a seguir, la línea interpretada como tres parámetros distintos antes de la versión 3.6.0. A partir de la versión 3.6.0, se interpretan como un único parámetro que contiene comillas, a menos que la propiedad wrapper.java.additional_file.quotable se establezca en TRUE.

"parameter 1" "parameter 2" parameter3

Cuando una propiedad "quotable" se establece en TRUE, las comillas reales que se conservarán en el valor correspondiente deben entonces escaparse con un carácter '\', y las barras invertidas deben duplicarse ('\\'). No se permite escapar ningún otro carácter.

Los siguientes reemplazos se realizarán al eliminar las comillas.

  • '\\' se convertirá en '\',
  • '\"' se convertirá en '"'
  • '"' se convertirá en ''
Ejemplo:
wrapper.app.parameter_file.quotable=TRUE
Ejemplo de Archivo de Parámetros UTF-8:
@encoding=UTF-8
-DTEST1=Value1 -DTEST2="Valor de Test conteniendo espacios."

wrapper.app.parameter_file.stripquotes

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

ADVERTENCIA

A partir de la versión 3.6.0, esta propiedad ya no es necesaria y, por lo tanto, deja de ser válida. Cualquier valor marcado con "stripquotes" debe revisarse para no escapar más las barras invertidas ('\') y las comillas ('"').

Cada plataforma maneja los parámetros con espacios de forma distinta. Para que una configuración funcione correctamente, siempre debe entrecomillar esos valores. En Windows, se usarán tal cual. Sin embargo, en plataformas UNIX, las comillas se eliminarán al dividir la línea de comandos en una lista de parámetros.

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

Ejemplo:
wrapper.app.parameter_file.stripquotes=FALSE
Ejemplo de Archivo de Parámetros UTF-8:
@encoding=UTF-8
-DTEST1=Value1 -DTEST2="Test Value with spaces."

wrapper.app.parameter.backend

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

Esta propiedad se puede configurar en TRUE para pasar los parámetros de la aplicación a través del backend en lugar de la línea de comandos.

Si algún parámetro de la aplicación contiene datos confidenciales, el Wrapper requerirá que esta propiedad se establezca en TRUE para evitar que los datos aparezcan en la línea de comando.

El valor predeterminado es "FALSE".

Ejemplo:
wrapper.app.parameter.backend=TRUE

Referencia: Parámetros