Assegurando-se de que as Mensagens Não Serão Perdidas

Mensagens que fluem através de seu domínio do intermediário representam dados de negócios que você deseja proteger.Configure as mensagens, seu ambiente, ou ambos, para garantir que mensagens não sejam perdidas.

Mensagens que são geradas por seus aplicativos e por componentes de tempo de execução para comunicação entre componentes são importantes para a operação de seus intermediários. As mensagens utilizadas internamente entre componentes sempre utilizam o protocolo WebSphere MQ. As mensagens de aplicativos podem utilizar todos os protocolos de transporte suportados.

Para mensagens do aplicativo e internas que viajam através do WebSphere MQ, duas técnicas protegem contra perda de mensagem:

Para obter informações adicionais sobre como utilizar estas opções, consulte a seção Guia de Administração do Sistema do WebSphere MQ Versão 6: centro de informações on-line, ou ou o manual da Versão 5.3 no WebSphere MQ.

Mensagens Internas

Os componentes do WebSphere Message Broker utilizam mensagens do WebSphere MQ para comunicar eventos e dados entre processos e subsistemas do intermediário e o Configuration Manager e o Servidor de Nome de Usuário. Os componentes asseguram que os recursos do WebSphere MQ sejam explorados para proteção contra a perda de mensagens. Não é necessário executar nenhuma etapa adicional para configurar WebSphere MQ ou WebSphere Message Broker para proteger-se contra a perda de mensagens internas.

Mensagens de Aplicativos

Se a entrega de mensagens de aplicativos for crítica, será necessário projetar programas aplicativos e os fluxos de mensagens que eles utilizam para assegurar que as mensagens não sejam perdidas. As técnicas utilizadas dependem do protocolo utilizado pelos aplicativos.

WebSphere MQ Enterprise Transport e WebSphere MQ Mobile Transport
Se estiver utilizando os nós de entrada internos que aceitam mensagens através dos protocolos WebSphere MQ ou WebSphere MQ Everyplace, você poderá utilizar as seguintes pautas e recomendações:
  • Utilizando Mensagens Persistentes

    Os produtos do sistema de mensagens do WebSphere MQ fornecem persistência de mensagem, que define a duração da mensagem no sistema e garante a integridade da mensagem. As mensagens não-persistentes serão perdidas caso ocorra uma falha no sistema ou gerenciador de fila. Mensagens persistentes são sempre recuperadas no caso de uma falha.

    Você pode controlar a persistência de mensagem das seguintes maneiras:
    • Programe seus aplicativos que colocam mensagens em uma fila utilizando o MQI ou AMI para indicar que as mensagens são persistentes.
    • Defina a fila de entrada com persistência de mensagem como a definição padrão.
    • Configure o nó output para tratar mensagens persistentes.
    • Programe seus aplicativos de assinante para solicitar persistência de mensagem.

    Quando um nó input lê uma mensagem que é lida a partir de uma fila de entrada, a ação padrão é utilizar a persistência definida no cabeçalho de mensagens (MDMQ) do WebSphere MQ que foi definido pelo aplicativo que criou a mensagem ou pela persistência padrão da fila de entrada. A mensagem retém essa persistência durante o fluxo de mensagens, a menos que seja alterada em um nó de processamento de mensagens subseqüente.

    Você pode substituir o valor de persistência de cada mensagem quando o fluxo de mensagens terminar em um nó output. Este nó possui uma propriedade que permite a você especificar a persistência de cada mensagem quando ela é colocada na fila de saída, como o valor solicitado, ou como um valor padrão. Se você especificar o padrão, a mensagem utiliza o valor de persistência definido para as filas nas quais as mensagens são gravadas.

    Se uma mensagem for transmitida através de um nó Publicação, a persistência das mensagens enviadas aos assinantes será determinada pelas opções de registro dos assinantes. Se um assinante tiver solicitado entrega persistente de mensagem, e for autorizado para fazer isto por ACL explicita ou implícita (herdada), a mensagem é entregue de maneira persistente independente de sua propriedade de persistência existente. Além disso, se o usuário tiver requisitado entrega de mensagem não-persistente, a mensagem será entregue de modo não-persistente independente da existência de sua propriedade de persistência.

    Se um fluxo de mensagens criar uma nova mensagem (por exemplo, em um nó Compute), a persistência no MQMD da nova mensagem será copiada a partir da persistência no MQMD da mensagem que chega.

  • Processando Mensagens sob Controle do Ponto de Sincronização

    A ação padrão de um fluxo de mensagens é processar mensagens de entrada sob o ponto de sincronização em uma transação controlada pelo intermediário. Isso significa que uma mensagem que falha ao ser processada por qualquer motivo é recuperada pelo intermediário. Como ela foi recebida sob o ponto de sincronização, a mensagem com falha será reindicada na fila de entrada e poderá ser processada novamente. Se o processamento falhar, os procedimentos de tratamento de erros que estão configurados para esse fluxo de mensagens (definidos pela forma que o fluxo de mensagens foi configurado ou pelo intermediário) serão executados.

    Para obter detalhes completos do processamento de nós de entrada, consulte Gerenciando Erros no Nó Input.

WebSphere MQ Telemetry Transport
Se você estiver utilizando o nó SCADAInput que aceita mensagens dos dispositivos de telemetria no protocolo MQIsdp, este protocolo não terá um conceito de filas. Clientes conectam-se a um nó SCADAInput especificando o número da porta na qual o nó está atendendo. As mensagens são enviadas para clientes utilizando um clientId. Entretanto, você pode especificar um QoS (Quality of Service) máximo dentro de uma mensagem de assinatura SCADA, que é semelhante à persistência:
  • QoS0 Não-persistente.
  • QoS1 Persistente, mas pode ser entregue mais de uma vez
  • QoS2 Entrega uma única vez

Se uma mensagem SCADA persistente for publicada, ela poderá ser reduzida para o mais alto nível que o cliente pode aceitar. Em algumas circunstâncias, a mensagem pode se tornar não persistente.

WebSphere MQ Real-time Transport, WebSphere MQ Multicast Transport e WebSphere MQ Web Services Transport
Se você estiver utilizando os nós Real-timeInput e Real-timeOptimizedFlow que aceitam mensagens soa aplicativos JMS e multicast ou se você estiver utilizando os nós HTTPInput, HTTPRequest, SOAPInput, SOAPRequest ou um par de nós SOAPAsyncRequest e SOAPAsyncResponse que aceitam mensagens de aplicativos de serviços da Web, nenhum recurso estará disponível para proteger contra perda de mensagem. No entanto, você pode fornecer procedimentos de recuperação, configurando o fluxo de mensagens para tratar seus próprios erros.
Outros Transportes e Protocolos
Se você criou seus próprios nós de entrada definidos pelo usuário que recebem mensagens de outro protocolo de transporte, deverá contar com o suporte fornecido por esse protocolo de transporte ou fornecer seus próprios procedimentos de recuperação.
Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
Última atualização : 2009-02-13 16:11:36

ac00420_