Cómo trabajar con propiedades de mensaje

Puede trabajar con las propiedades de mensaje para alterar los procesos posteriores.

Antes de empezar

Antes de iniciar esta tarea, debe consultar las propiedades soportadas por la interfaz SIMessage en Soporte de las propiedades de mensajes para mediaciones.

Acerca de esta tarea

Hay dos tipos diferentes de propiedades de mensajes:
  • Propiedades del sistema (incluidas las cabeceras JMSX, las propiedades JMSX y las propiedades JMS_IBM_properties)
  • Propiedades del usuario.

Puede trabajar con las propiedades de los mensajes para modificar qué mensajes debe procesar una mediación posterior o para modificar el proceso realizado por una mediación o aplicación situada en sentido descendente. El conjunto de reglas del campo de selector durante la configuración de la mediación comprueba los valores de las propiedades de los mensajes.

Puede acceder, modificar y borrar las propiedades utilizando la interfaz SIMessage (consulte SIMessage. Hay tres conjuntos de métodos diferentes:

  • Estas propiedades funcionan en las propiedades del sistema, más las propiedades de usuario si el nombre está calificado con un prefijo user.:
    • getMessageProperty
    • setMessageProperty
    • deleteMessageProperty
    • clearMessageProperties
  • Estas propiedades sólo operan en propiedades de usuario sin que sea necesario el prefijo user.:
    • getUserProperty
    • setUserProperty
    • deletUserProperty
    • clearUserProperties
  • getUserPropertyNames devuelve una lista de los nombres de las propiedades de usuario del mensaje.
Generalmente, puede trabajar con las propiedades de los mensajes del modo siguiente cuando se programa una mediación:

Procedimiento

  1. Localice el punto del manejador de mediación en el que desea insertar el código de mediación funcional, en el método handle (MessageContext context). La interfaz es MessageContext, y debe convertirla en SIMessageContext a menos que sólo esté interesado en los métodos proporcionados por MessageContext.
  2. Obtenga el SIMessage del objeto MessageContext. Por ejemplo, SIMessage message = ((SIMessageContext)context).getSIMessage();
  3. Cree la función de cabecera de mediación de modo similar al de estos ejemplos, utilizando como ayuda la información de referencia contenida en Soporte de las propiedades de mensajes para mediaciones:
    1. Obtenga una propiedad de usuario del mensaje. Por ejemplo, String task = (String)msg1.getUserProperty("task");. En este caso, la serie de la tarea puede hacer referencia a una operación que debe realizar la mediación.
    2. Establezca una propiedad de usuario, en la que se almacenan las propiedades de mensajes como parejas de nombre y valor. Es posible que el método setUserProperty sólo se utilice para establecer las propiedades de usuario, así que el nombre pasado en el método no debe incluir el término "user." Por ejemplo, msg1.setUserProperty("background","green");
    3. Suprima una propiedad de usuario del mensaje. Por ejemplo, msg1.deleteUserProperty("task");

Ejemplo

El código de función de mediación para trabajar con las propiedades del mensaje puede ser similar al fragmento de código de este ejemplo:

    String task = (String)msg1.getUserProperty("task");
    if (task != null) {
      if (task.equals("addColor")) {
        msg1.setMessageProperty(SIProperties.JMS_IBM_Format, "colorful");
        msg1.setUserProperty("background","green");
        msg1.setUserProperty("foreground","purple");
        msg1.setUserProperty("depth",new Integer(3));
        msg1.deleteUserProperty("task");
      }
      else {
        msg1.clearUserProperties();
      }
    }     

Icon that indicates the type of topic Task topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tjy1504
File name: tjy1504.html