Utilice el nodo JavaCompute para trabajar con mensajes utilizando el lenguaje Java™.
Utilizando este nodo, puede completar las tareas siguientes:
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 WebSphere Message Broker Toolkit 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 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.
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.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.
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.
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 | Sí | 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 | Sí | 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 | Sí | 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. |
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. |