Fluxos

WebSphere MQ Publicação/Assinatura utiliza fluxos principalmente como um meio de particionar o espaço de nomes de tópico. Conjuntos de tópicos relacionados podem ser agrupados em fluxos separados permitindo que controles de segurança diferentes sejam aplicados a fluxos diferentes e que a carga de trabalho de publicação do intermediário seja melhor balanceada.

No entanto, o WebSphere Message Broker oferece controles mais flexíveis para atingir ambos esses comportamentos. Portanto, o conceito de um fluxo é suportado apenas para compatibilidade de aplicativos MQRFH.

Os controles de segurança do WebSphere Message Broker permitem que a autorização seja aplicada a um nível de tópico individual. Além disso, a carga de trabalho de publicação do intermediário pode ser controlada mais facilmente com a criação de instâncias adicionais de fluxos de mensagens de publicação que podem servir as mesmas filas de entrada ou filas de entrada diferentes.

O WebSphere Message Broker ainda permite que aplicativos cliente do MQRFH especifiquem um parâmetro de comando do MQPSStreamName em suas assinaturas e publicações.No entanto, uma nome de fluxo é utilizando apenas para modificar o tópico para preservar a característica de particionamento do WebSphere MQ Publicação/Assinatura.

Quando o nome do fluxo associado a uma mensagem for configurado para algo que não seja SYSTEM.BROKER.DEFAULT.STREAM, a mensagem será processada como se o tópico ou os tópicos mencionados dentro da mensagem tivessem recebido o prefixo com a cadeia "$SYS/STREAM/<nome_do_fluxo>/". Ou seja, uma assinatura de Topic1 que especifica um nome de fluxo de StreamX é processada como se a assinatura tivesse sido feita para o tópico "$SYS/STREAM/StreamX/Topic1".

Os aplicativos de publicação e assinatura do MQRFH2 ainda podem destinar tópicos relacionados ao fluxo, mesmo que eles próprios não tenham permissão para especificar um nome de fluxo nas mensagens que enviam para o intermediário WebSphere Message Broker. Para fazer isto, eles devem colocar os prefixos apropriados nos tópicos.

Por exemplo, para assinar o tópico "IBM/Latest" publicado no fluxo STOCK.STREAM dentro da rede WebSphere MQ Publicação/Assinatura, um assinante MQRFH2 deve especificar o tópico "$SYS/STREAM/STOCK.STREAM/IBM/Latest".

WebSphere MQ Publicação/Assinatura permite que uma publicação relacionada a fluxos seja enviada apenas para um fila que possua o mesmo nome do fluxo. No entanto, WebSphere Message Broker permite que clientes de publicação enviem suas publicações para qualquer fila de entrada em um fluxo de mensagens.

Aplicativos MQRFH que especificam explicitamente um parâmetro de nome de fluxo dentro de uma publicação podem enviá-lo para qualquer fila de publicação atendida pelo intermediário do WebSphere Message Broker. A fila não precisa ter o mesmo nome do fluxo.

Saiba que a ordem na qual as publicações são recebidas pode ser diferente da esperada.

Cada nó de publicação possui uma propriedadeImplicit Stream Naming cujo valor padrão é true. Esta opção padrão resulta em um comportamento idêntico ao demonstrado peloWebSphere MQ Publicação/Assinatura quando uma publicação MQRFH não conter um nome de fluxo explícito. Se esta propriedade tiver o valor false, e a publicação não conter um nome de fluxo explícito, SYSTEM.BROKER.DEFAULT.STREAM será assumido.

A próxima tabela sumariza as opções disponíveis para ambos os aplicativos clientes MQRFH e MQRFH2 que publicam mensagens, para o fluxo padrão ou para um fluxoWebSphere MQ Publicação/Assinatura específico. O nome do fluxo StreamX é utilizado para ilustrar as opções.

  Publicador do MQRFH   Publicador do MQRFH2  
  Fluxo Padrão FluxoX Fluxo Padrão FluxoX
Assinante do MQRFH S1,P1 S2,P2 S1,P3 S2,P4
Assinante do MQRFH2 S3,P1 S4,P2 S3,P3 S4,P4
         
         
         
Notas sobre o Assinante :
  • S1 O assinante assina sem um nome de fluxo ou com um nome de fluxo "SYSTEM.BROKER.DEFAULT.STREAM".
  • S2 O assinante assina com o nome do fluxo "StreamX".
  • S3 O assinante assina o tópico sem incluir "$SYS/STREAM/<nome_do_fluxo>/".
  • S4 O assinante assina no tópico prefixado com "$SYS/STREAM/StreamX/".
Notas do Publicador:
  • P1 O publicador publica em qualquer fila especificando o nome do fluxo "SYSTEM.BROKER.DEFAULT.STREAM". ou publica sem especificar um nome de fluxo ou qualquer fila com a propriedadeImplicit Stream Naming definida como false.
  • P2 O publicador publica em qualquer fila especificando o nome do fluxo "StreamX" ou publica sem especificar um nome de fluxo na fila "StreamX" com a propriedade Nomenclatura de Fluxo Implícito definida como verdadeira.
  • P3 O publicador publica qualquer fila sem incluir o prefixo "$SYS/STREAM/<Fluxo>/" no tópico.
  • P4 O publicador publica em qualquer fila e inclui o prefixo "$SYS/STREAM/StreamX/" no tópico.
Nota: O prefixo "$SYS/STREAM/<nome_do_fluxo>/" é removido de todos os tópicos em uma publicação MQRFH2 quando é entregue a um assinante MQRFH.
Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback
Direitos Autorais IBM Corporation 1999, 2006 Última Atualização: 1 Sep 2006
aq19790_