Utilize o nó MQOutput para enviar mensagens para clientes que se conectam ao broker utilizando o WebSphere MQ Enterprise Transport e que utilizam as interfaces de programação de aplicativos MQI e AMI.
Este tópico contém as seguintes seções:
O nó MQOutput entrega uma mensagem de saída de um fluxo de mensagens para uma fila do WebSphere MQ. O nó usa MQPUT para colocar a mensagem na fila de destino ou filas que você especificar.
Se apropriado, defina a fila como uma fila em cluster ou compartilhada do WebSphere MQ. Ao utilizar um fila em cluster do WebSphere MQ, deixe o Nome do Gerenciador de Filas vazio.
É possível configurar o nó MQOutput para colocar uma mensagem em uma fila específica do WebSphere MQ que seja definida em qualquer gerenciador de filas que seja acessível pelo gerenciador de filas para o broker ou para os destinos identificados no ambiente local que está associado com a mensagem.
Defina outras propriedades para controlar a maneira na qual as mensagens são enviadas, fazendo com que as opções MQPUT apropriadas sejam definidas; por exemplo, você pode solicitar que uma mensagem seja processada sob controle de transação. Você também pode especificar que o WebSphere MQ pode, se apropriado, dividir a mensagem em segmentos no gerenciador de filas.
Se você criar um fluxo de mensagens para ser utilizado como um subfluxo, não poderá utilizara um nó de saída padrão; utilize uma instância do nó Saída para criar um terminal Out para o subfluxo pelo qual a mensagem será propagada.
Se você não quiser que o fluxo de mensagens envie mensagens para uma fila do WebSphere MQ, escolha outro nó de saída suportado.
O nó MQOutput verifica a presença de um cabeçalho MQMD (descritor de mensagens do WebSphere MQ) na árvore de mensagens. Se nenhum cabeçalho MQMD estiver presente, o nó MQOutput criará um na árvore de mensagens e o preencherá com propriedades padrão do MQMD. Se um cabeçalho MQMD for localizado, o nó do MQOutput irá verificar se ele é um cabeçalho de tipo WebSphere MQ; se ele não for, a propriedade Contexto de Mensagem será configurada como Padrão. O nó MQOutput trata qualquer outro cabeçalho de transporte a árvore de mensagens como dados. Se esses cabeçalhos não forem requeridos como parte do corpo da mensagem, use um nó de transformação para removê-los da árvore de mensagens antes do nó MQOutput. Se a árvore de mensagens for originada no JMS, você pode usar um nó JMSMQTransform para construir uma árvore de mensagens compatível com o MQ. Para obter detalhes adicionais, consulte Transformação de Mensagens JMS.
O nó MQOutput está contido no repositório da paleta do WebSphere MQ e é representado no WebSphere Message Broker Toolkit pelo seguinte ícone:
Veja as amostras a seguir para consultar sobre como utilizar este nó:
Você só pode visualizar informações sobre amostras quando usa o centro de informações que está integrado ao WebSphere Message Broker Toolkit ou o centro de informações on-line. Você só poderá executar amostras quando usar o centro de informações que está integrado ao WebSphere Message Broker Toolkit.
Para obter um exemplo de como utilizar este nó, suponha que você tenha gravado um aplicativo de publicação que publica atualizações de estoque regularmente. O aplicativo envia as mensagens para o intermediário em um nó MQInput e o fluxo de mensagens disponibiliza as publicações para vários assinantes por meio de um nó Publicação. Configure um nó do Compute para criar uma nova mensagem de saída sempre que uma ação específica for alterada e conecte este nó a um nó do MQOutput para registrar cada alteração de preço para esta ação.
WrittenDestination = (
MQ = (
z`DestinationData = (
queueName = 'OUT'
queueManagerName = 'MYQUEUEMANAGER'
replyIdentifier = X'4d...2e'
msgId = X'3c...2c'
correlId = X'2a...00'
GroupId = X'3a...00'
)
)
)
Conecte o terminal de entrada (In) ao nó do qual as mensagens de saída ligadas são roteadas.
Conecte o terminal Out ou Failure deste nó a outro nó neste fluxo de mensagens para processar a mensagem posteriormente, processar erros ou enviar a mensagem para um destino adicional.
Se você utilizar a agregação nos fluxos de mensagens, deverá utilizar os terminais output.
MQMD.Report = 0;
MQMD.PutApplType = MQAT_BROKER;
MQMD.PutDate = Obtido da registro de data e hora atual
MQMD.PutTime = Obtido da registro de data e hora atual
MQMD.PutApplName = MsgTree.MQMD.ReplyToQMgr (primeiros 28 caracteres)
MQMD.Version
MQMD.Format
MQMD.Priority
MQMD.Persistence
MQMD.Expiry
MQMD.Encoding
MQMD.CodedCharSetId
MQMD.GroupId
MQMD.MsgSeqNumber
MQMD.Offset
MQMD.MsgFlags
MQMD.OriginalLength
IF MsgTree.MQMD.MsgType = MQMT_REQUEST THEN
MQMD.MsgType = MQMT_REPLY;
IF Nodes Message Context is Default, PassAll or PassIdentity THEN
MQMD.UserIdentifer = MsgTree.MQMD.UserIdentifier;
IF MsgTree.MQMD.Report contains MQRO_PASS_CORREL_ID THEN
MQMD.CorrelId = MsgTree.MQMD.CorrelId;
ELSE
MQMD.CorrelId = MsgTree.MQMD.MsgId;
IF MsgTree.MQMD.Report contains MQRO_PASS_MSG_ID THEN
MQMD.MsgId = MsgTree.MQMD.MsgId;
ELSE
MQMD.MsgId = MQMI_NONE;
Quando a estrutura do MQMD de saída tiver sido construída, o Contexto da Mensagem no nó MQOutput será ignorado, e o comportamento será como configurar Tudo.
Os valores que são substituídos, são executados apenas na estrutura do MQMD de saída; não são feitas atualizações na pasta do MQMD na árvore de mensagens.
Quando tiver colocado uma instância do nó MQOutput em um fluxo de mensagens, você poderá configurá-lo; consulte Configurando um Nó do Fluxo de Mensagens. As propriedades do nó são exibidas na visualização Propriedades.
Os terminais do nó MQOutput são descritos na tabela a seguir.
Terminal | Descrição |
---|---|
Entrada | O terminal de entrada que aceita a mensagem para processamento pelo nó. |
Defeito | O terminal de saída para o qual a mensagem será roteada se for detectado um defeito quando a mensagem for colocada na fila de saída. |
Saída | O terminal de saída para o qual a mensagem será roteada se tiver sido colocada com sucesso na fila de saída. |
As tabelas a seguir descrevem as propriedades do nó. A coluna com cabeçalho M indica se a propriedade é obrigatória (marcada com um asterisco se você precisar inserir um valor quando nenhum padrão for definido); a coluna com cabeçalho C indica se a propriedade é configurável (é possível alterar o valor quando você incluir o fluxo de mensagens no arquivo BAR para implementação).
As propriedades Descrição do nó MQOutput são descritas na tabela a seguir.
Propriedade | M | C | Padrão | Descrição |
---|---|---|---|---|
Nome do Nó | Não | Não | O tipo de nó, MQOutput | O nome do nó. |
Descrição Breve | Não | Não | Uma breve descrição do nó. | |
Descrição Longa | Não | Não | Texto que descreve a finalidade do nó no fluxo de mensagens. |
As propriedades Básicas do nó MQOutput são descritas na tabela a seguir.
Propriedade | M | C | Padrão | Descrição | Propriedade do Comando mqsiapplybaroverride |
---|---|---|---|---|---|
Nome do Gerenciador de Fila | Não | Sim | Insira o nome do gerenciador de filas do WebSphere MQ para o qual essa fila de saída
(que é especificada pela propriedade Nome da Fila) é definida. A propriedade Nome do Gerenciador de Filas será necessária apenas se a fila especificada estiver definida em outro gerenciador de fila ou se for uma fila de clusters. Se for uma fila de clusters, então o Nome do Gerenciador de Filas poderá, opcionalmente, ser especificado se você desejar ser prescritivo sobre qual gerenciador de filas recebe a mensagem. Se a fila estiver definida em um gerenciador de filas remotas, o Nome do Gerenciador de Filas deverá ser especificado e deverá corresponder à fila de transmissão definida no gerenciador de filas locais do broker, desse gerenciador de filas remotas. |
queueManagerName | |
Nome da Fila | Não | Sim | Para enviar a mensagem de saída para uma única fila de destino que esteja definida por esse nó, insira o nome da fila de saída do WebSphere MQ para a qual o fluxo de mensagens envia mensagens. Se você configurar a propriedade Modo de Destino como Nome da Fila, deverá especificar um valor para a propriedade Nome da Fila. Se você configurar o Modo de Destino para outro valor, essa propriedade será ignorada. |
queueName |
As propriedades Avançadas do nó MQOutput são descritas na tabela a seguir. Essas propriedades definem o controle transacional para a mensagem e a maneira em que a mensagem é colocada na fila. Muitas dessas propriedades são mapeadas para opções na chamada MQPUT.
Propriedade | M | C | Padrão | Descrição |
---|---|---|---|---|
Modo de Destino | Sim | Não | Nome da Fila | As filas nas quais a mensagem de saída é
enviada.
|
Modo de Transação | Sim | Não | Automático | Essa propriedade controla se a mensagem é colocada de maneira
transacional.
|
Modo de Persistência | Sim | Não | Automático | Essa propriedade controla se a mensagem é colocada de maneira
persistente.
|
Novo ID da Mensagem | Sim | Não | Limpo | Se você selecionar esta caixa de seleção, o WebSphere MQ irá gerar um novo identificador de mensagens para substituir o conteúdo do campo MsgId no MQMD. Essa propriedade é mapeada para a opção MQPMO_NEW_MSG_ID do MQPMO do MQI. Limpe a caixa de opções, se você não deseja gerar um
novo ID. Um novo ID da mensagem ainda é gerado se você selecionar a propriedade Pedido na guia Pedido. Para obter mais informações sobre as opções para as quais esta propriedade é mapeada, consulte a seção Referência de Programação do Aplicativo do Centro de Informações Online do WebSphere MQ Versão 7. |
Novo ID de Correlação | Sim | Não | Limpo | Se você selecionar essa caixa de opções, o
WebSphere MQ gerará um novo identificador de correlação para
substituir o conteúdo do campo CorrelId no MQMD.
Essa propriedade é mapeada para a opção MQPMO_NEW_CORREL_ID do MQPMO do MQI. Limpe a caixa de opções, se você não deseja gerar um
novo ID. Para obter mais informações sobre as opções para as quais esta propriedade é mapeada, consulte a seção Referência de Programação do Aplicativo do Centro de Informações Online do WebSphere MQ Versão 7. |
Segmentação Permitida | Sim | Não | Limpo | Se você selecionar esta caixa de opção, WebSphere MQ quebrará
a mensagem em segmentos no gerenciador de filas. Desmarque a caixa de opções para que a segmentação não
ocorra. Para obter mais informações sobre a segmentação da mensagem,
consulte Enviando Segmentos de Mensagens em uma Mensagem do WebSphere MQ. Para obter mais informações sobre as opções para as quais esta propriedade é mapeada, consulte a seção Referência de Programação do Aplicativo do Centro de Informações Online do WebSphere MQ Versão 7. |
Contexto da Mensagem | Sim | Não | Transmitir Tudo | Essa propriedade controla como o contexto de origem é tratado.
Quando um perfil de segurança é associado ao nó e é configurado para executar a propagação da identidade, o contexto escolhido pode ser substituído para assegurar que a identidade de saída esteja configurada. Para obter mais informações sobre as opções para as quais essas propriedades são mapeadas, consulte a seção Referência de Programação do Aplicativo do Centro de Informações Online do WebSphere MQ Versão 7. |
Autoridade de Usuário Alternativa | Sim | Não | Limpo | Se você selecionar esta caixa de opção, alterne a autoridade que é usada quando a mensagem de saída é colocada e a opção MQOO_ALTERNATE_USER_AUTHORITY é configurada nas opções abertas (MQOO) do MQI. Se você selecionar essa caixa de opções, essa opção será especificada quando a fila for aberta para saída. As informações sobre o usuário alternativas são recuperadas das informações de contexto na mensagem. Limpe a caixa de opção se não desejar especificar autoridade do usuário alternativa. Se você desmarcar a caixa de opções, o ID do usuário de serviço do broker será utilizado quando a mensagem for colocada. |
As propriedades Pedido do nó MQOutput são descritas na tabela a seguir. Essas propriedades definem as características de cada mensagem de saída que é gerada.
Propriedade | M | C | Padrão | Descrição | Propriedade do Comando mqsiapplybaroverride |
---|---|---|---|---|---|
Pedido | Sim | Não | Limpo | Se você selecionar a caixa de opção, cada mensagem de saída no
MQMD será gerada como uma mensagem do pedido (MQMT_REQUEST) e o campo identificador de mensagem será limpo (e configurado para MQMI_NONE) para que o WebSphere MQ gere um novo identificador.
Limpe a caixa de opções para indicar que cada mensagem de saída
não está marcada como uma mensagem de pedido. Se você tiver configurado o Modo de Destino como Responder para a Fila,
não é possível selecionar essa caixa de opção. Será gerado um novo identificador de mensagem mesmo que a caixa de opção Novo ID de Mensagem não estiver selecionada na guia Avançado. |
|
Gerenciador de Filas Responder para | Não | Sim | O nome do gerenciador de filas do WebSphere MQ para o qual a fila de saída, especificada em Fila Responder para (Reply-to Queue), está definida. Esse nome é inserido no MQMD de cada mensagem de saída como o gerenciador de filas de resposta. | replyToQMgr | |
Responder para a Fila | Não | Sim | O nome da fila do WebSphere MQ na qual será colocada uma resposta para este pedido. Esse nome é inserido no MQMD de cada mensagem de saída como a fila de resposta. | replyToQ |
As propriedades Validação do nó MQOutput são descritas na tabela a seguir.
Para obter uma descrição completa destas propriedades, consulte Propriedades de Validação.
Propriedade | M | C | Padrão | Descrição | Propriedade do Comando mqsiapplybaroverride |
---|---|---|---|---|---|
Validate | Não | Sim | Herdar | Essa propriedade controla se a validação ocorre. Os valores válidos são Nenhum, Conteúdo e Valor, Conteúdo e Herdar. | validateMaster |
Ação de Defeito | Não | Não | Exceção | Essa propriedade controla o que acontecerá se a validação falhar. Você pode configurar essa propriedade somente se configurar Validar como Conteúdo ou Conteúdo e Valor. Os valores válidos são Rastreio do Usuário, Registro de Erros Local, Exceção e Lista de Exceções. |
Propriedade | M | P | Default | Descrição |
---|---|---|---|---|
Eventos | Não | Não | Nenhum | Eventos definidos para o nó são exibidos nesta guia. Por padrão, nenhum evento de monitoramento é definido em um nó do fluxo de mensagens. Utilize Incluir, Editar,
e Excluir para criar, alterar ou excluir eventos de monitoração no nó; consulte Configurando fontes de eventos de monitoramento utilizando propriedades de monitoramento para detalhes. É possível ativar e desativar eventos mostrados aqui selecionando ou desmarcando a caixa de opções Ativado. |