Trabalhando Com o Contexto de Mensagens

É possível trabalhar com as propriedades da mensagem para afetar o modo de mediação da mensagem.

Antes de Iniciar

Antes de iniciar essa tarefa, você deve ler sobre o modo como as informações são transportadas no contexto da mediação em Informações de Contexto de Mediação

Sobre Esta Tarefa

A interface SIMessageContext possui uma superinterface MessageContext. Os métodos existentes em MessageContext permitem gerenciar um conjunto de propriedades da mensagem, que permitem que os manipuladores de uma cadeia de manipuladores compartilhem o estado relacionado ao processamento. Em especial, é possível obter o valor de uma propriedade específica a partir de MessageContext, usando o método getProperty, e é possível configurar o nome e o valor de uma propriedade associada a MessageContext, usando o método setProperty. Também é possível visualizar os nomes das propriedades existentes em MessageContext e remover uma propriedade (ou seja, um par nome-valor) de MessageContext.

No tempo de execução da mediação, todas as propriedades definidas pelo usuário que foram especificadas durante a configuração para a mediação atual (consulte Configurando Propriedades do Contexto de Mediação) são aplicadas ao conjunto de propriedades MediationContext.

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). Como você está trabalhando com os métodos de MessageContext que concedem acesso às propriedades da mensagem, não é necessário converter a interface para SIMessageContext, a menos que você também esteja interessados nos métodos fornecidos por SIMessageContext.
  2. Obtenha o SIMessage a partir do objeto MessageContext. Por exemplo,SIMessage message = ((SIMessageContext)context).getSIMessage();
  3. Recupere ou configure propriedades, usando os métodos de MessageContext. Por exemplo, se, durante a configuração, foi definida uma propriedade com o nome streetName, o tipo String e o valor "Main Street", o código para recuperação e impressão do nome da rua terá a seguinte aparência:

Exemplo

public boolean handle(MessageContext context) throws MessageContextException {
	
			........			
		{
				/* Retrieve the street name property */
				String myStreetName;
				myStreetName = (String) getProperty(streetName);
				
				/* Display property value */
				System.out.println(myStreetName);
				
		}
}

Í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=tjy1503
Nome do arquivo: tjy1503.html