WebSphere Message Broker, Versión 8.0.0.5 Sistemas operativos: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Consulte la información sobre la última versión del producto en IBM Integration Bus, Versión 9.0

Nodo JavaCompute

Utilice el nodo JavaCompute para trabajar con mensajes utilizando el lenguaje Java™.

Finalidad

Utilizando este nodo, puede completar las tareas siguientes:

  • Utilice Java para examinar un mensaje de entrada y, en función del contenido, propáguelo sin modificarlo a uno de los dos terminales de salida del nodo. El nodo se comporta de un modo similar a un nodo Filter, pero utiliza Java en lugar de ESQL para determinar qué terminal de salida se debe utilizar.
  • Utilice Java para cambiar parte de un mensaje de entrada y propagarlo al mensaje cambiado a uno de los terminales de salida.
  • Utilice Java para crear y compilar un mensaje de salida nuevo que sea totalmente independiente del mensaje de entrada.
  • Utilice Java para crear una correlación en una memoria caché global y para añadir y recuperar datos de dicha correlación. Al almacenar datos en la memoria caché global, estos datos están disponibles para otros nodos JavaCompute o flujos de mensajes.

El código Java utilizado por el nodo se almacena en un proyecto Java de Eclipse.

El código Java que se utiliza para acceder y manipular los datos de mensaje se pueden codificar utilizando cualquiera de los siguientes estilos de programación :
  • API de plug-in Java
  • Arquitectura Java para enlaces XML (JAXB)
  • Modelo de objetos de documento (DOM)

El nodo JavaCompute se encuentra en la bandeja Transformación de la paleta y está representado en el WebSphere Message Broker Toolkit mediante el siguiente icono:

Icono de nodo Compute

Utilización de este nodo en un flujo de mensajes

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 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 Crear 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.

La clase MbJavaComputeNode contiene dos métodos que se pueden alterar temporalmente: onInitialize() y onDelete(). Si desea que el nodo realice operaciones de limpieza, por ejemplo cerrar sockets, incluya una implementación del método onDelete:
public void onDelete()
{
  // realizar limpieza de nodo si es necesario
}
El método onInitialize() se invoca durante el despliegue o durante el inicio del intermediario. Durante el despliegue, el método se invoca antes de que se haya confirmado el despliegue. Otros nodos pueden emitir excepciones durante su inicialización; por lo tanto, el flujo no se desplegará, aunque el método onInitialize() para este nodo funcione. Si su método onInitialize() emite una excepción, el flujo no se despliega o no se inicia. Por consiguiente, realice tareas que siempre funcionen o siempre fallen durante el método onInitialize(). El intermediario no intentará iniciar de nuevo el flujo hasta que se reinicie el intermediario. Si necesita inicializar una conexión externa que es posible que tenga que reintentarse, hágalo en el primer mensaje que pase por el flujo para que el flujo pueda reintentar la transacción según sea necesario.
Consulte el ejemplo siguiente para ver cómo se debe utilizar este nodo.

Puede ver información sobre los ejemplos sólo cuando utilice el Information Center que está integrado en WebSphere Message Broker Toolkit o el Information Center en línea. Puede ejecutar ejemplos sólo cuando utilice el Information Center que está integrado en WebSphere Message Broker Toolkit.

Especificación de 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 pulse en 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. Cuando se escribe al menos un carácter en el campo Seleccionar , aparecerá una lista de las clases Java coincidentes. Puede utilizar el asterisco (*) para representar un carácter como parte de una serie de caracteres de búsqueda; por ejemplo, a*b. Seleccione la clase Java adecuada y pulse Aceptar.

Restricción: No intente crear otra instancia de un nodo JavaCompute desde el código Java; no está soportado.

Terminales y propiedades

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. 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
In (de entrada) El terminal de entrada que acepta un mensaje para que lo procese el nodo.
Failure (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.)
Out (de salida) El terminal de salida al que se dirige el mensaje transformado.
Alternate (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 del 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 predeterminado 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.

En la siguiente tabla se describen las propiedades básicas del nodo JavaCompute.

Propiedad O C Valor predeterminado Descripción
Clase Java No Ninguna El 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 Message Broker.

Para seleccionar un archivo que ya existe, pulse Examinar. Cuando se escribe al menos un carácter en el campo Seleccionar, aparecerá una lista de las clases Java coincidentes. Puede utilizar el asterisco (*) para representar un carácter como parte de una serie de caracteres de búsqueda; por ejemplo, a*b. Seleccione la clase Java adecuada y pulse Aceptar.

Servicio cargador de clases Java No Ninguna El nombre del servicio configurable JavaClassLoader que se utiliza en este nodo. Si no se especifica ningún nombre, y si existe un servicio configurable JavaClassLoader con el mismo nombre que el grupo de ejecución, es el que se utilizará en este nodo. De lo contrario, no se utilizará ningún servicio configurable JavaClassLoader.

Todos los nodos de un grupo de ejecución que especifiquen el mismo servicio configurable JavaClassLoader utilizan la misma instancia del cargador de clases. En consecuencia, todos los nodos utilizan la misma versión en memoria de las clases, incluido el acceso a las mismas variables estáticas.

Para obtener más información, consulte Carga de clases del nodo JavaCompute.

En la siguiente tabla se describen las propiedades de Opciones de análisis para el nodo JavaCompute.

Propiedad O C Valor predeterminado Descripción
Utilizar analizador compacto XMLNSC para dominio XMLNS No No No seleccionado 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.

Las propiedades de validación del nodo JavaCompute se describen en la siguiente tabla.

Establezca las propiedades de validación para definir cómo debe validarse el mensaje producido por el nodo JavaCompute. Estas propiedades no hacen que se valide el mensaje de entrada. Se espera que, si se necesita dicha validación, el nodo de entrada o un nodo de validación anterior ya habrá realizado la validación. Si desea ver información más detallada, consulte los apartados Validar mensajes y Propiedades de validación.

Propiedad O C Valor predeterminado Descripción Propiedad de mandato mqsiapplybaroverride
Validar No Ninguna Esta propiedad controla si la validación tiene lugar y qué parte del mensaje se valida. Los valores válidos son Ninguno, Contenido y valor, Contenido y Heredar. validateMaster
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.  
Las propiedades de supervisión del nodo se describen en la siguiente tabla.
Propiedad O C Valor predeterminado Descripción
Sucesos No No Ninguno Los sucesos que se han definido para el nodo se visualizan en este separador. De forma predeterminada, no se define ningún suceso de supervisión en ningún nodo en un flujo de mensajes. Utilice Añadir, Editar y Suprimir para crear, cambiar o suprimir sucesos de supervisión para el nodo; consulte Configuración de orígenes de sucesos de supervisión utilizando propiedades de supervisión para obtener detalles.

Puede habilitar e inhabilitar sucesos que se muestran aquí seleccionando o deseleccionando el recuadro Habilitado.

Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Comentarios

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        Última actualización:
        
        Última actualización: 2015-02-28 16:58:30


Tema de referenciaTema de referencia | Versión 8.0.0.5 | ac20805_