Trabalhando com Propriedades de Mensagem

Você pode trabalhar com as propriedades da mensagem para afetar o processamento subsequente.

Antes de Iniciar

Antes de iniciar esta tarefa, você deve ler sobre as propriedades que são suportadas pela interface SIMessage em Suporte a Propriedades de Mensagens para Mediações.

Sobre Esta Tarefa

Existem dois tipos diferentes de propriedades de mensagens:
  • Propriedades de sistema (incluindo cabeçalhos JMS, propriedades JMSX e JMS_IBM_properties)
  • Propriedades de usuário.

Você pode trabalhar com propriedades de mensagens para afetar quais mensagens uma mediação posterior deve processar ou afetar o processamento por um aplicativo ou mediação de recebimento de dados. O conjunto de regras no campo de seletor durante a configuração da mediação testa valores nas propriedades das mensagens.

É possível acessar, modificar e limpar propriedades usando a interface do SIMessage (consulte SIMessage.) Existem três conjuntos de métodos diferentes:

  • Estas propriedades operam nas propriedades de sistema e nas propriedades de usuário, se o nome for qualificado com um prefixo user.:
    • getMessageProperty
    • setMessageProperty
    • deleteMessageProperty
    • clearMessageProperties
  • Estas propriedades operam apenas nas propriedades de usuário, sem a necessidade do prefixo user.:
    • getUserProperty
    • setUserProperty
    • deletUserProperty
    • clearUserProperties
  • getUserPropertyNames retorna uma lista dos nomes das propriedades de usuário na mensagem.
Normalmente, você pode trabalhar com propriedades de mensagens da seguinte maneira, quando está programando uma mediação:

Procedimento

  1. Localize o ponto no manipulador de mediação no qual você insere o código de mediação funcional, no método handle (Contexto MessageContext). A interface é MessageContext e você deve lançar isso em SIMessageContext, a menos que esteja interessado apenas nos métodos fornecidos por MessageContext.
  2. Obtenha o SIMessage a partir do objeto MessageContext. Por exemplo,SIMessage message = ((SIMessageContext)context).getSIMessage();
  3. Construa sua função de cabeçalho de mediação de uma maneira similar a estes exemplos, usando as informações de referência descritas em Suporte a Propriedades de Mensagens para Mediações para ajudar:
    1. Obtenha uma propriedade de usuário da mensagem. Por exemplo, String task = (String)msg1.getUserProperty("task");. Nesse caso, a sequência da tarefa poderá se referir a uma operação que a mediação deve executar.
    2. Configure uma propriedade do usuário, na qual as Propriedades da mensagem são armazenadas como pares nome-valor. O método setUserProperty pode apenas ser usado para configurar propriedades do usuário, portanto o nome passado para o método não deverá incluir o prefixo "user." de prefixo opcional. Por exemplo, msg1.setUserProperty("background","green");
    3. Exclua uma propriedade de usuário da mensagem. Por exemplo, msg1.deleteUserProperty("task");

Exemplo

O código de função de mediação para trabalhar com propriedades de mensagens pode se assemelhar ao trecho de código nesse exemplo:

    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();
      }
    }     

Ícone que indica o tipo de tópico Tópico de Tarefa



Ícone de registro de data e hora Última atualização: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tjy1504
Nome do arquivo: tjy1504.html