JMSInput

Utilize o nó JMSInput para receber mensagens de destinos JMS. Os destinos JMS são acessados por meio de uma conexão com um provedor JMS.

Este tópico contém as seguintes seções:

Propósito

O nó JMSInput age como um consumidor de mensagens JMS e pode receber todos os seis tipos de mensagens definidos na Especificação Java Message Service, Versão 1.1. As mensagens são recebidas utilizando chamadas de método, que são descritas na especificação JMS.

O nó JMSInput está contido no repositório JMS da paleta e é representado no ambiente de trabalho pelo seguinte ícone:

Ícone do nó JMSInput

Utilizando o Nó JMSInput em um Fluxo de Mensagens

A amostra a seguir contém um fluxo de mensagens no qual o nó JMSInput é utilizado. Essa amostra é um exemplo de como utilizar o nó JMSInput. Você pode visualizar amostras apenas quando utilizar o centro de informações integrado ao Message Brokers Toolkit.

Os fluxos de mensagens que manipulam mensagens recebidas de conexões com provedores JMS devem sempre ser iniciados com um nó JMSInput. Se você incluir um nó de saída em um fluxo de mensagens que comece com um nó JMSInput, ele poderá ser qualquer um dos nós de saída suportados (incluindo nós de saída definidos pelo usuário); não é necessário incluir um nó JMSOutput. No entanto, se você não incluir um nó JMSOutput, deverá incluir o nó JMSMQTransform para transformar a mensagem no formato esperado pelo nó de saída.

Se estiver propagando mensagens JMS e criando um fluxo de mensagens para ser utilizado como um subfluxo, não será possível utilizar um nó de entrada padrão; é necessário utilizar uma instância do nó JMSInput como o primeiro nó para criar um terminal In para o subfluxo.

Início da mudançaAo utilizar grupos de execução de 32 bits em um ambiente do host padrão de 64 bits, é necessário configurar caminhos da biblioteca Java JMS do WebSphere MQ no MQSI_LIBPATH32. Exemplo:
export MQSI_LIBPATH32=$MQSI_LIBPATH32:/usr/mqm/lib:/usr/mqm/java/lib
Fim da mudança
Restrição: Quando o nó JMSInput receber tópicos de publicação, ele restringirá internamente a propriedade do fluxo de mensagens Instâncias Adicionais para zero para evitar o recebimento de publicações duplicadas.

Disponibilizando o Cliente do Provedor JMS para os Nós JMS

Os serviços configuráveis são definidos para vários provedores JMS. Você pode escolher um dos serviços predefinidos ou pode criar um novo serviço para um novo provedor ou para um dos provedores existentes.

Para exibir um ou mais dos serviços configuráveis definidos, utilize o comando mqsireportproperties. O exemplo a seguir exibe todos os serviços configuráveis disponíveis para um único intermediário:
mqsireportproperties brokerName -c AllTypes -o AllReportableEntityNames -r 
  • Se desejar utilizar o provedor JMS do WebSphere MQ e tiver instalado o WebSphere MQ no local padrão no sistema do intermediário, as propriedades já estarão configuradas e não será necessário fazer alterações.
  • Se desejar utilizar o provedor JMS do WebSphere MQ e tiver instalado o WebSphere MQ em um local diferente (não padrão), ou se desejar utilizar um dos outros serviços definidos, será necessário configurar a propriedade jarsURL para identificar o local dos arquivos JAR de serviço no sistema do intermediário.

    Utilize o comando mqsireportproperties para visualizar as propriedades do provedor e o comando mqsichangeproperties para configurar ou modificar as propriedades.

  • Se nenhum serviço for definido para seu provedor JMS ou se quiser criar outro serviço para um provedor JMS existente, utilize o comando mqsicreateconfigurableservice para identificar o novo serviço e configurar suas propriedades.
  • Ao configurar o nó, selecione o serviço apropriado da lista de serviços predefinidos mostrados para a propriedade Nome do provedor JMS, ou digite o nome de seu serviço necessário.

Conectando Terminais

Para cada mensagem recebida com êxito, o nó JMSInput roteia a mensagem para o terminal Out. Se essa ação falhar, a mensagem será repetida. Se o limite de repetição for alcançado, em que o limite é definido pela propriedade Limite de Restauração do nó, a mensagem será roteada para o terminal Failure. Você pode conectar nós ao terminal Failure para manipular essa condição.

Se ocorrer uma exceção no caminho de falha, o caminho é tentado novamente até o número de tentativas ser duas vezes o Limite de Restauração. Se esse limite for excedido, a mensagem é colocada no Destino de Restauração.

Se você não conectou os nós ao terminal Failure, a mensagem é gravada no Destino de Restauração. Se não tiver especificado um Destino de Restauração, o nó emite a mensagem de erro BIP4669 e pára de processar entradas adicionais.

Se a mensagem for capturada pelo nó JMSInput após a geração de uma exceção em outro lugar no fluxo de mensagens, a mensagem será roteada para o terminal Catch. Se você não tiver conectado nós ao terminal Catch, o nó restaurará mensagens para nova entrega, até que o problema seja resolvido, ou o Limite de Restauração seja atingido. Se você não definir um Destino de Restauração, o nó emitirá uma mensagem de erro BIP4669 e interromperá o processamento da entrada futura.

Configurando para Transações Coordenadas

Quando você incluir um nó JMSInput em um fluxo de mensagens, o valor configurado para o Modo de Transação define se as mensagens são recebidas no ponto de sincronização.

  • Se você configurar esta propriedade para Global, a mensagem será recebida na coordenação do ponto de sincronização externo; ou seja, em uma unidade de trabalho de WebSphere MQ. Quaisquer mensagens que são enviadas subseqüentemente por um nó de saída na mesma instância do fluxo de mensagens são colocadas no ponto de sincronização, a menos que o nó de saída substitua esta configuração explicitamente.
  • Se você configurar esta propriedade para Local, a mensagem será recebida no controle do ponto de sincronização local do nó JMSInput. Qualquer mensagem enviada subseqüentemente por um nó de saída no fluxo não é colocada no ponto de sincronização local, a menos que um nó de saída individual especifique que a mensagem deve ser colocada no ponto de sincronização local.
  • Se você configurar esta propriedade para Nenhum, a mensagem não será recebida no ponto de sincronização. Qualquer mensagem enviada subseqüentemente por um nó de saída no fluxo não será colocada no ponto de sincronização, a menos que um nó de saída individual especifique que a mensagem deve ser colocada no ponto de sincronização.
Para receber mensagens no ponto de sincronização externo, você deve realizar etapas de configuração adicionais, que precisam ser aplicadas apenas na primeira vez que um nó JMSOutput ou JMSInput é implementado no intermediário para um provedor JMS específico.
  • Em sistemas distribuídos, o coordenador do ponto de sincronização externo para o intermediário é WebSphere MQ. Antes de implementar um fluxo de mensagens no qual a propriedade Modo de Transação é configurada como Global, modifique o arquivo .ini do gerenciador de filas para incluir definições extras para cada gerenciador de recursos do provedor JMS que participa nas transações coordenadas globalmente.
    • Windows platform Nos sistemas Windows, se você tiver o WebSphere MQ Versão 5 instalado:
      1. Inicie o WebSphere MQ Services.
      2. Clique com o botão direito do mouse no nome do gerenciador de filas e clique em Propriedades (Properties).
      3. Clique na guia Propriedades de Recurso (Resource properties).
      4. Configure a propriedade SwitchFile para o seguinte valor:
        install_dir/bin/ JMSSwitch.dll
        XAOpenString=Initial Context,location JNDI,Optional_parms
        ThreadOfControl=THREAD
    • Windows platform Em sistemas Windows, se você tiver o WebSphere MQ Versão 6.0 instalado:
      1. Inicie o WebSphere MQ Explorer.
      2. Clique com o botão direito do mouse no nome do gerenciador de filas, na área de janela esquerda, e clique em Propriedades (Properties).
      3. Clique em Gerenciadores de recursos XA (XA resource managers) na área de janela esquerda.
      4. Configure a propriedade SwitchFile para o seguinte valor:
        install_dir/bin/ JMSSwitch.dll
        XAOpenString=Initial Context,location JNDI,Optional_parms
        ThreadOfControl=THREAD
      Para obter informações adicionais, consulte a seção Guia de Administração o Sistema do WebSphere MQ Versão 6: centro de informações on-line, ou o manual da Versão 5.3 no WebSphere MQ.
    • Linux platformUNIX platform Nos sistemas Linux e UNIX, inclua uma sub-rotina no arquivo .ini do gerenciador de fila para cada provedor JMS.
      Exemplo:
      XAResourceManager:
      Name=Jms_Provider_Name
      SwitchFile=/install_dir/bin/ JMSSwitch.so
      XAOpenString=Initial Context,location JNDI,Optional_parms
      ThreadOfControl=THREAD
      Em que:
      Nome
      é um nome definido pela instalação que identifica um gerenciador de recursos do provedor JMS.
      SwitchFile
      é o caminho do sistema de arquivo para a biblioteca JMSSwitch que é fornecida no diretório bin do intermediário.
      XAOpenString pode ter os seguintes valores:
      • Contexto Inicial é o valor que é configurado na propriedade Gerador de Contexto Inicial do nó JMSInput.
      • JNDI do Local é o valor que é configurado na propriedade Ligações de JNDI do Local do nó JMSInput. Este valor deve incluir a palavra-chave inicial, que é uma das seguintes: file://, iiop:// ou ldap://.
      Os parâmetros a seguir são opcionais:
      • Proprietário LDAP (LDAP Principal) corresponde ao valor configurado para o intermediário utilizando os comandos mqsicreatebroker ou mqsichangebroker.
      • Credenciais LDAP (LDAP Credentials) corresponde ao valor configurado para o intermediário utilizando os comandos mqsicreatebroker ou mqsichangebroker.
      • Nome da Connection Factory de Recuperação (Recovery Connection Factory Name) é a connection factory administrada por JNDI definido no arquivo de ligações. Se um valor não for especificado, você deverá incluir um valor padrão para recoverXAQCF no arquivo de ligações. Em ambos os casos, o Gerador de Conexão de Recuperação deve ser definido com um Gerador de Conexão de Fila XA para o provedor JMS que está associado ao Gerador de Contexto Inicial.

      Os parâmetros opcionais são separados por vírgula e são determinados por posição. Portanto, quaisquer parâmetros que estejam faltando devem ser representados por uma vírgula.

      1. Atualize a variável de ambiente CLASSPATH Java para o gerenciador de filas do intermediário incluir uma referência a xarecovery.jar; por exemplo:
        install_dir/classes/xarecovery.jar
      2. Atualize a variável de ambiente Java PATH para que o gerenciador de filas do intermediário aponte para o diretório bin no qual SwitchFile está localizado; por exemplo:
        install_dir/bin

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

    Para utilizar o mesmo gerenciador de fila para o intermediário e o provedor JMS, certifique-se de que a instalação do WebSphere MQ esteja no nível mínimo necessário: Versão 5.3 CSD12 ou Versão 6.0 Fix Pack 1.

    Para utilizar o mesmo gerenciador de filas para o intermediário e o provedor JMS, assegure que sua instalação do WebSphere MQ esteja no nível mínimo requerido: WebSphere MQ Versão 6.0 Fix Pack 1 ou acima é requerido para XA para utilizar o mesmo gerenciador de filas para o intermediário e o provedor.

  • z/OS platform No z/OS, o gerenciador de ponto de sincronização externo é o RRS (Resource Recovery Services). O único provedor JMS suportado no z/OS é o WebSphere MQ JMS. A única opção de transporte suportada para o WebSphere MQ JMS no z/OS é a opção ligação.

    controle do ponto de sincronização para o provedor JMS é gerenciado com a coordenação de ponto de sincronização RRS do gerenciador de filas do intermediário. Não é necessário modificar o arquivo .ini .

Terminais e Propriedades

Quando tiver colocado uma instância do nó JMSInput 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. Para exibir as propriedades do nó no diálogo Propriedades, dê um clique duplo no nó ou clique com o botão direito no nó e clique em Propriedades. Todas as propriedades obrigatórias que não tiverem um valor padrão definido serão marcadas com um asterisco.

Os terminais do nó JMSInput são descritos na tabela a seguir.
Terminal Descrição
Failure O terminal de saída para o qual a mensagem é encaminhada se um ocorrer erro. Mesmo que a propriedade Validação (Validation) esteja definida, as mensagens propagadas para esse terminal não serão validadas.
Out O terminal de saída para o qual a mensagem será roteada se for recuperada com êxito.
Catch O terminal de saída para o qual a mensagem será roteada se uma exceção for gerada no recebimento de dados e capturada por este nó.

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 caso seja necessário digitar um valor quando nenhum padrão for definido); a coluna com cabeçalho C indica se a propriedade é configurável (você poderá alterar o valor quando incluir o fluxo de mensagens ao arquivo BAR para implementá-lo).

As propriedades Descrição do nó JMSInput 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ó, JMSInput 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 Conexão JMS do nó JMSInput são descritas na tabela a seguir.
Propriedade M C Padrão Descrição
Fábrica de contexto inicial Sim Sim com.sun.jndi.fscontext. RefFSContextFactory O ponto inicial para um espaço de nomes JNDI.

Digite um valor de Depósito de informações de contexto inicial (Initial context factory). Um aplicativo JMS utiliza o contexto inicial para obter e consultar os objetos administrados de JNDI para o provedor JMS. O valor padrão é com.sun.jndi.fscontext.RefFSContextFactory, que define o Gerador de Contexto Inicial baseado em arquivo para o provedor de JMS WebSphere MQ. Para identificar o nome do Gerador de Contexto Inicial para o provedor de JMS, consulte a documentação do provedor de JMS.

Ligações JNDI do local Sim Sim   O caminho do sistema ou local LDAP para o arquivo de ligações O arquivo de ligações contém definições para objetos administrados de JNDI que são utilizados pelo nó JMSInput.
Quando você digita um valor para Ligações de JNDI de Local, verifique se ele está de acordo com as seguintes instruções:
  • Construa o arquivo de ligações antes de implementar um fluxo de mensagens que contém um nó JMSInput.
  • Não inclua o nome do arquivo de ligações nesse campo.
  • Se você tiver especificado um local do LDAP que exija autenticação, configure o proprietário LDAP (ID do usuário) e as credenciais LDAP (senha) separadamente. Estes valores são configurados no nível do intermediário. Para obter informações sobre esses valores, consulte Comando mqsicreatebroker and Comando mqsichangebroker.
  • O valor de cadeia deve incluir a palavra-chave inicial, que deve ser uma das seguintes opções:
    • file://
    • iiop://
    • ldap://

Para obter informações sobre a construção de arquivo de ligações de objetos JNDI administrados, consulte a documentação do provedor de JMS.

Nome de fábrica da conexão Sim Sim   O nome da connection utilizada pelo nó JMSInput para criar uma conexão com o provedor JMS. Esse nome já deve existir no arquivo de ligações.
Destino de restauração Não Sim   O nó JMSInput envia mensagens de entrada para este destino quando erros impedem o fluxo de mensagens de processar a mensagem e a mensagem deve ser removida do destino de entrada. O nome de destino de backout deve existir no arquivo de ligações.
Limite de Backout Não Sim 0 O valor que controla quando uma mensagem entregue novamente é colocada no destino de restauração. Por exemplo, se o valor for 3, o provedor JMS tentará entregar a mensagem no destino de entrada três vezes. Depois da terceira tentativa de entrega, a mensagem é removida do destino de entrada e é enviada para o Destino de Recuperação.
As propriedades Avançadas do nó JMSInput são descritas na tabela a seguir.
Propriedade M C Padrão Descrição
Modo de Transação Sim Não nenhum Esta propriedade controla se a mensagem que chega é recebida no ponto de sincronização externo, ponto de sincronização local ou saída do ponto de sincronização.
  • Selecione Nenhum se a mensagem que chega tiver de ser tratada como não persistente. Se você selecionar esse valor, a mensagem será recebida utilizando uma sessão JMS não transacionada que é criada com o uso do sinalizador Session.AUTO_ACKNOWLEDGE.
  • Selecione Local se o nó JMSInput tiver que coordenar a confirmação ou a recuperação de mensagens JMS que são recebidas pelo nó, junto com qualquer recurso como DB2 ou WebSphere MQ que executam trabalhos dentro do fluxo de mensagens. Se você selecionar esse valor, o nó utilizará uma sessão JMS transacionada.
  • Selecione Global se o nó JMSInput precisar participar de uma transação do fluxo de mensagens global que seja gerenciada pelo coordenador do ponto de sincronização externo do intermediário. O coordenador do ponto de sincronização é o gerenciador de filas do intermediário em sistemas distribuídos e RRS (Resource Recovery Services) no z/OS. Se você selecionar esse valor, todas as mensagens recebidas pelo nó serão coordenadas globalmente utilizando uma sessão JMS XA.
Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009. Todos os Direitos Reservados.
Última atualização : 2009-02-13 15:33:11

ac24820_