Trabalhando com Propriedades de Mensagem
Você pode trabalhar com as propriedades da mensagem para afetar o processamento subsequente.
Antes de Iniciar
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.
Procedimento
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();
}
}