Utilice el nodo JavaComputepara trabajar con mensajes utilizando el lenguaje Java.
Este tema contiene las secciones siguientes:
Utilizando este nodo podrá realizar las siguientes tareas:
El código Java utilizado por el nodo se almacena en un proyecto Java de Eclipse.
El nodo JavaCompute se encuentra en la bandeja Transformación de la paleta y está representado en el entorno de trabajo mediante el siguiente icono:
El nodo JavaCompute utiliza el mismo modelo de ejecución que los nodos definidos por el usuario Java y, por consiguiente, las restricciones y presunciones asociadas con los nodos definidos por el usuario Java también se aplican al código Java desarrollado para nodos JavaCompute; consulte Creación de un nodo de salida o de proceso de mensajes en Java. Únicamente se crea una instancia del nodo JavaCompute independientemente del número de hebras que se ejecutan respecto al flujo como resultado de instancias adicionales o de múltiples nodos de entrada). Por consiguiente, todo el código del usuario de Java debe ser seguro contra hebras y de reentrada. Para obtener más información, consulte Modelo de ejecución de extensiones definidas por el usuario y Consideraciones acerca de las hebras para extensiones definidas por el usuario.
Efectúe una doble pulsación en el nodo JavaCompute para abrir el asistente de Nueva clase de nodo JavaCompute. El asistente le guiará a través de la creación de un nuevo proyecto Java y de una clase Java que contenga código de esqueleto. Este código de esqueleto se visualiza con un editor de Java. Para obtener más información sobre la creación de código Java para un nodo JavaCompute y ver ejemplos del código de esqueleto o la plantilla proporcionados, consulte Creación de código Java para un nodo JavaCompute. Si no es la primera vez que efectúa una doble pulsación en el nodo, aparece el código Java.
Codifique sentencias Java para personalizar el comportamiento del nodo JavaCompute. Por ejemplo, puede personalizar el nodo para que cree un nuevo mensaje o mensajes de salida, utilizando mensajes de entrada o contenido de base de datos (sin modificar o modificados), o datos nuevos. Por ejemplo, es posible que desee modificar un valor en el mensaje de entrada añadiendo un valor de una base de datos y almacenar el resultado en un campo en el mensaje de salida.
Codifique las sentencias Java que desee en un archivo Java que esté asociado al nodo JavaCompute.
Si todavía no existe un archivo Java para ese nodo, pulse con el botón derecho del ratón sobre el nodo JavaCompute y, a continuación, pulse Abrir Java para crear y abrir un nuevo archivo Java en la vista del editor. Si el archivo ya existe, pulse Examinar junto a la propiedad clase de Java para visualizar la ventana Selección de tipo de nodo JavaCompute, que lista las clases Java a las que se puede acceder mediante este flujo de mensajes. Seleccione la clase Java adecuada y pulse en Aceptar. La lista de tipos coincidentes muestra las clases Java adecuadas cuando se especifica como mínimo un carácter en el campo Selección. Se visualizan todas las clases Java si se especifica '*' en el campo Selección.
Cuando haya colocado una instancia del nodo JavaCompute en un flujo de mensajes, podrá configurarlo; consulte el apartado Configurar un nodo de flujo de mensajes. Para asociar una instancia de un nodo JavaCompute a una clase Java, configure las propiedades del nodo. Las propiedades del nodo se visualizan en la vista Propiedades. Para visualizar las propiedades del nodo en el diálogo Propiedades, pulse con el botón derecho del ratón sobre el nodo y pulse en Propiedades. Todas las propiedades obligatorias para las que debe especificar un valor (las que no tienen un valor predeterminado definido) están marcadas con un asterisco.
Los terminales del nodo JavaCompute están descritos en la siguiente tabla.
Terminal | Descripción |
---|---|
Entrada | El terminal de entrada que acepta un mensaje para que lo procese el nodo. |
De anomalías | El terminal de salida al que se direcciona el mensaje de entrada si se detecta una anomalía durante el cálculo. (Aunque esté establecida la propiedad Validar, los mensajes que se propagan al terminal de anomalías (Failure) del nodo no se validan.) |
De salida | El terminal de salida al que se dirige el mensaje transformado. |
Alternativo | Un terminal de salida alternativo al que se puede direccionar el mensaje transformado, en lugar de direccionarlo al terminal de salida. |
Las tablas siguientes describen las propiedades de nodo. La columna con la cabecera O indica si la propiedad es obligatoria (marcada con un asterisco si tiene que entrar un valor cuando no hay definido ningún valor predeterminado); la columna con la cabecera C indica si la propiedad es configurable (puede cambiar el valor cuando añade el flujo de mensajes al archivo BAR para desplegarlo).
En la tabla siguiente se describen las propiedades de descripción del nodo JavaCompute.
Propiedad | O | C | Valor por omisión | Descripción |
---|---|---|---|---|
Nombre de nodo | No | No | El tipo de nodo: JavaCompute | El nombre del nodo. |
Descripción corta | No | No | Descripción breve del nodo. | |
Descripción larga | No | No | Texto que describe la finalidad del nodo en el flujo de mensajes. |
El nodo JavaCompute tiene la propiedad básica que se describe en la tabla siguiente.
Propiedad | O | C | Valor por omisión | Descripción |
---|---|---|---|---|
Clase Java | Sí | No | Ninguna | Nombre de la clase Java que se utiliza en este nodo. Este nombre debe visualizarse en la lista de clases Java que están disponibles en las referencias de proyecto para el proyecto de flujo de mensajes. |
En la siguiente tabla se describen las propiedades de Opciones de análisis para el nodo JavaCompute.
Propiedad | O | C | Valor por omisión | Descripción |
---|---|---|---|---|
Temporización del análisis | Sí | No | A petición | Esta propiedad controla cuándo se analiza un mensaje de entrada. Los valores válidos son A
petición, Inmediato
y Completo. De forma predeterminada, esta propiedad se establece en A petición, con lo cual la validación se retrasa hasta que se analice mediante el análisis parcial. Si cambia este valor por
Inmediato,
el análisis parcial se altera temporalmente y se analizan y validan todos los
elementos de mensaje, excepto los tipos complejos con una composición de
Elección o Mensaje que no se pueden resolver en ese momento y producen
una anomalía de validación. Si cambia este valor por
Completo,
el análisis parcial se altera temporalmente y se analizan y validan todos
los elementos del mensaje. Para obtener una descripción completa de esta propiedad, consulte Análisis a petición. |
Utilizar analizador compacto MQRFH2C para dominio MQRFH2 | No | No | Deseleccionado | Esta propiedad controla si se utiliza el analizador compacto MQRFH2C, en lugar del analizador MQRFH2, para las cabeceras MQRFH2. |
Utilizar analizador compacto XMLNSC para dominio XMLNS | No | No | Deseleccionado | Al establecer esta propiedad, la cabecera MQRFH2 del mensaje de salida especifica el analizador XMLNS en lugar del XMLNSC, lo que permite que una aplicación externa permanezca sin cambios. Si los mensajes de salida no contienen cabeceras MQRFH2, esta propiedad no tiene ningún efecto. |
Retener contenido mixto | No | No | Deseleccionado | Esta propiedad controla si el analizador XMLNSC crea elementos en el árbol de mensajes cuando encuentra texto mixto en un mensaje de entrada. Si selecciona el recuadro, se crean elementos para el texto mixto. Si deselecciona el recuadro, el texto mixto se ignora y no se crea ningún elemento. |
Retener comentarios | No | No | Deseleccionado | Esta propiedad controla si el analizador XMLNSC crea elementos en el árbol de mensajes cuando encuentra comentarios en un mensaje de entrada. Si selecciona el recuadro, se crean elementos para los comentarios. Si deselecciona el recuadro, los comentarios se ignoran y no se crea ningún elemento. |
Retener instrucciones de proceso | No | No | Deseleccionado | Esta propiedad controla si el analizador XMLNSC crea elementos en el árbol de mensajes cuando encuentra instrucciones de proceso en un mensaje de entrada. Si selecciona el recuadro, se crean elementos para las instrucciones de proceso. Si deselecciona el recuadro, las instrucciones de proceso se ignoran y no se crea ningún elemento. |
Las propiedades de validación del nodo JavaCompute se describen en la siguiente tabla.
Establezca las propiedades de validación para que el analizador valide el cuerpo de mensajes para el Conjunto de mensajes. Si un mensaje se propaga al terminal de anomalías del nodo, no se valida. Si desea ver información más detallada, consulte los apartados Validar mensajes y Propiedades de validación.
Propiedad | O | C | Valor por omisión | Descripción |
---|---|---|---|---|
Validar | No | Sí | Ninguna | Esta propiedad controla si la validación tiene lugar y qué parte del mensaje se valida. Los valores válidos son Ninguna, Contenido y valor, Contenido y Heredar. |
Acción para anomalía | No | No | Excepción | Esta propiedad controla qué sucede si falla una validación. Sólo puede establecer esta propiedad si Validar se establece en Contenido o Contenido y valor. Los valores válidos son Rastreo de usuario, Anotaciones de error locales, Excepción y Lista de excepciones. |
Incluir todas las limitaciones de valor | No | No | Seleccionado | Esta propiedad no se puede editar. Si el recuadro está seleccionado (valor predeterminado), en la validación se incluyen todas las limitaciones de valor. |
Arreglo | No | No | Ninguna | Esta propiedad no se puede editar. Se proporciona un arreglo mínimo. Los valores válidos son Ninguna y Todos. |