Una propiedad definida por el usuario (UDP) es una propiedad que se define cuando se construye un flujo de mensajes utilizando el Editor de flujos de mensajes. Esta propiedad la puede utilizar el programa ESQL o Java dentro de los nodos de flujo de mensajes, por ejemplo un nodo Compute.
La ventaja de las UDP es que el personal de operaciones puede cambiar los valores durante el despliegue y el tiempo de ejecución. No es necesario cambiar los programas de aplicación. Por ejemplo, si utiliza las UDP para que contengan datos sobre su centro de trabajo, puede configurar un flujo de mensajes para un sistema, una tarea o un entorno determinados en tiempo de despliegue, sin tener que cambiar el código a nivel de nodo de mensajes.
Cuando inicia el Editor de flujos de mensajes para crear un flujo de mensajes o modificar un flujo de mensajes existente, así como para decidir qué nodos se requieren en el flujo de mensajes, también tiene la opción (proporcionada por el separador) de definir y asignar valores iniciales a algunas propiedades definidas por el usuario. Utilice el separador Propiedades definidas por el usuario en la parte inferior de la ventana de edición. Consulte el tema Editor de flujos de mensajes para obtener más información.
Además de definirse utilizando el Editor de flujos de mensajes, una UDP también debe definirse utilizando una sentencia DECLARE con la palabra clave EXTERNAL en cualquier programa ESQL que la utilice, o con el método getUserDefinedAttribute en cualquier nodo JavaCompute que utiliza.
Consulte Sentencia DECLARE para obtener información detallada sobre la sentencia DECLARE y consulte Acceder a propiedades definidas por el usuario desde un nodo JavaCompute para obtener más información sobre cómo utilizar una UDP en un nodo JavaCompute.
Cualquier valor que se asigna a una UDP al definirla en un flujo de mensajes altera temporalmente el valor de dicha variable en el programa ESQL.
El valor de una UDP también se puede modificar en tiempo de despliegue utilizando el Editor de archivador de intermediario para editar el archivo BAR. Este valor prevalecerá sobre cualquier valor que se haya asignado al definir el flujo de mensajes.
Cada UDP de un flujo de mensajes debe tener un valor, asignado cuando se declara la UDP o por el Editor de flujos de mensajes o de archivador de intermediario; de lo contrario, se produce un error de tiempo de despliegue. En tiempo de ejecución, después de que se haya declarado la UDP, su valor se puede consultar mediante sentencias de programa subsiguientes pero no se puede modificar.
El valor de la UDP se establece en el nivel del flujo de mensajes y es el mismo ara todos los nodos elegibles contenidos en el flujo. Un nodo elegible es un nodo que soporta las UDP y está dentro del ámbito de la declaración que declara la UDP a la aplicación. Por ejemplo, si utiliza el Editor de flujos de mensajes para cambiar el valor de una propiedad de usuario denominada timezone, que se declara en un flujo de mensajes denominado mySchema, en un flujo de mensajes denominado myFlow, la UDP está disponible en tiempo de ejecución para todos los nodos de myFlow que dan soporte a las UDP y que están dentro de mySchema.
De forma similar, si utiliza el Editor de flujos de mensajes para cambiar el valor de una propiedad definida por el usuario en un subflujo, la propiedad recién editada está disponible para todos los nodos del subflujo que soportan las UDP y están dentro del ámbito de la declaración. La propiedad no está disponible, por ejemplo, para los nodos del flujo padre.