Nó JMSOutput

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

Finalidade

Utilize o nó JMSOutput para enviar mensagens para destinos JMS. O nó JMSOutput age como um produtor de mensagens JMS e pode publicar todos os seis tipos de mensagens definidos no Java Message Service Specification, version 1.1. As mensagens são publicadas utilizando chamadas de método, que são descritas na especificação JMS.

O nó JMSOutput é representado no workbench pelo seguinte ícone:

Ícone do nó JMSOutput

Utilizando o Nó JMSOuput em um Fluxo de Mensagens

A amostra JMS Nodes sample contém um fluxo de mensagens no qual o nó JMSOutput é utilizado. Consulte essa amostra para obter um exemplo de como utilizar o nó JMSOutput.

Os fluxos de mensagens, que manipulam mensagens recebidas de conexões com provedores JMS, sempre devem ser iniciados com um nó JMSInput. Se você incluir o nó JMSOutput em um fluxo de mensagens, não precisará incluir um nó JMSInput. No entanto, se você não incluir um nó JMSInput, deverá incluir o nó MQJMSTransform para transformar a mensagem no formato esperado pelo nó JMSOutput.

Se estiver propagando mensagens JMS e criando um fluxo de mensagens para ser utilizado como um subfluxo, será necessário utilizar uma instância do nó JMSOutput como o último nó para criar um terminal de saída para o subfluxo.

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

Para plataformas distribuídas, copie os arquivos .jar java e quaisquer bibliotecas nativas para o cliente do provedor JMS para o diretório de classes compartilhadas do intermediário. Por exemplo, no Windows C:\Documents and Settings\All Users\Application Data\IBM\MQSI\shared-classes. Isso assegura que o caminho de classe Java para os nós JMS sejam configurados corretamente.

Para o z/OS, não há nenhum diretório de classes compartilhadas. Em vez disso, você deve especificar cada arquivo .jar Java do provedor JMS no caminho de classe no membro BIPPROF do PDS (Partitioned Data Set) do intermediário. Em seguida, atualize o LIBPATH com quaisquer bibliotecas nativas e envie a tarefa BIPGEN JCL para atualizar o intermediário ENVFILE.

Configurando o Nó JMSOutput

Quando tiver colocado uma instância do nó JMSOutput em um fluxo de mensagens, será possível configurá-lo. Clique com o botão direito na visualização do editor clique em Propriedades. As propriedades básicas do nó serão exibidas no diálogo de propriedades.

Todas as propriedades obrigatórias, que não possuem um valor padrão definido, são marcadas com um asterisco no diálogo das propriedades.

Configure o nó JMSOutput da seguinte forma:

  1. Selecione Básico no navegador do diálogo de propriedades e preencha as seguintes propriedades:
    • Digite um valor de Depósito de Informações do Provedor de Contexto Inicial. 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 depósito de informações do provedor de contexto inicial baseado em arquivo para o provedor JMS do WebSphere MQ.

      Para identificar o nome do Depósito de Informações do Provedor de Contexto Inicial para o provedor JMS, consulte a documentação do provedor JMS.

    • Digite um valor para as Ligações de JNDI de Local. Esse valor especifica o caminho do sistema de arquivos ou o local do LDAP para o arquivo de ligações. O arquivo de ligações contém definições para os objetos administrados de JNDI utilizados pelo nó JMSInput.

      Ao digitar um valor para Ligações de JNDI de Local, assegure que esteja 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 do arquivo de ligações neste campo.
      • Se você tiver especificado um local do LDAP que requeira autenticação, será necessário configurar separadamente o proprietário LDAP (ID do usuário) e credenciais LDAP (senha). Estes valores são configurados no nível do intermediário. Para obter informações sobre como configurar estes valores, consulte os comandos mqsicreatebroker e mqsichangebroker.
      • O valor da cadeia deve incluir a palavra-chave inicial, que é uma das seguintes: file:/, iiop:/ ou ldap:/.

      Para obter informações sobre como construir o arquivo de ligações de objetos administrados de JNDI, consulte a documentação fornecida com o provedor JMS.

    • Digite um Nome de Connection Factory. O nome da connection factory é utilizado pelo nó JMSInput para criar uma conexão com o provedor JMS. Esse nome já deve existir no arquivo de ligações.
  2. Se o nó JMSOuput tiver que ser utilizado para efetuar assinatura em um tópico, selecione Publicação/Assinatura no navegador do diálogo de propriedades.
    • Digite o nome do Tópico do Publicador.
      • Se esta propriedade estiver configurada, o nó operará apenas no domínio de mensagem de publicação/assinatura.
      • Essa propriedade é mutuamente excludente com Fila de Destino na seção de propriedades Ponto a Ponto.
      • O nome do Tópico de Publicador deve estar de acordo com os padrões do provedor JMS que está sendo utilizado pelo nó.
  3. Se o nó JMSOutput tiver que ser utilizado para receber mensagens ponto a ponto, selecione Ponto a Ponto no navegador do diálogo de propriedades.
    • Digite o nome da Fila de Destino para o nome da fila JMS listada no arquivo de ligações.
  4. Selecione Pedido no navegador do diálogo de propriedades e preencha as seguintes propriedades:
    • Selecione uma opção na lista drop-down Modo de Destino.
      • O valor padrão é Nome do Destino. Se essa opção for selecionada, a mensagem será tratada como um pedido de um datagrama e terá como destino o Tópico de Publicação ou a Fila de Destino.
      • Se a mensagem for tratada como uma resposta, selecione Nome do Destino de Resposta. O provedor JMS é fornecido com o valor JMSReplyTo da seção JMSTransport_Header_values da árvore de mensagens.
    • Digite um valor para Destino de Resposta. Você pode digitar um destino JMS, que pode ser uma fila de assinatura ou um tópico de destino. O Destino de Resposta é o nome do destino JMS para o qual o aplicativo de recebimento deve enviar uma mensagem de resposta. Para retornar uma mensagem de resposta a esse destino JMS, o nome do destino JMS deve ser conhecido para o domínio do provedor JMS que é utilizado pelo cliente receptor.

      O valor padrão é vazio e, neste caso, a mensagem de saída JMS pode ser considerada um datagrama. Se o campo estiver em branco, o nó JMSOutput não esperará uma resposta do cliente JMS de recebimento.

  5. Selecione Avançado no navegador do diálogo de propriedades.
    • Se for requerido um Novo ID de Correlação, selecione a caixa de opções.
    • Para definir as características transacionais de como a mensagem é manipulada, selecione na lista drop-down Modo de Transação. Você pode escolher uma das seguintes opções:
      • Selecione nenhum se a mensagem de saída for ser tratada como não persistente. Nesse caso, a mensagem será enviada utilizando uma Sessão JMS não transacionada criada utilizando o sinalizador Session.AUTO_ACKNOWLEDGE.
      • Selecione local se o nó Input que recebeu a mensagem for coordenar a confirmação ou o rollback das mensagens JMS que foram enviadas pelo nó JMSOutput, juntamente com quaisquer outros recursos, como DB2 ou WebSphere MQ, que executam trabalho no fluxo de mensagens. Nesse caso, o nó utilizará uma Sessão JMS transacionada.
      • Selecione global se o nó JMSOutput for participar de uma transação de fluxo de mensagens global que será 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 nas plataformas distribuídas e RRS (Resource Recovery Services) no z/OS. Nesse caso, quaisquer mensagens recebidas pelo nó serão coordenadas de forma global utilizando uma Sessão JMS XA.
    • É possível configurar a persistência da mensagem JMS de saída utilizando a propriedade Modo de Entrega. Selecione uma opção na lista drop-down. Você pode escolher entre:
      • Não Persistente para indicar ao provedor JMS que a mensagem deve ser tratada como não persistente.
      • Persistente para marcar as mensagens como persistentes para o provedor JMS e que elas devem ser preservadas até que sejam entregues com êxito a um aplicativo cliente JMS receptor.
    • Digite um valor para Expiração da Mensagem para solicitar que o provedor JMS mantenha a mensagem JMS de saída por um período especificado.

      Digite um valor em milissegundos para especificar por quanto tempo a mensagem será mantida pelo provedor JMS. O valor padrão 0 é utilizado para indicar que a mensagem não deve expirar.

    • Para designar uma importância relativa para a mensagem, selecione uma opção na lista drop-down Prioridade de Mensagem. Esse valor pode ser utilizado para seleção de mensagem por um aplicativo cliente JMS receptor ou um nó JMSOutput.

      Digite um valor, no qual os valores válidos para prioridade de mensagem sejam de 0 (o mais baixo) a 9 (o mais alto). O valor padrão é 4, que indica prioridade média. As prioridades no intervalo de 0 a 4 estão relacionadas à entrega normal. As prioridades no intervalo de 5 a 9 estão relacionadas a graus de entrega expedida.

  6. Selecione Descrição no navegador do diálogo de propriedades para digitar uma descrição resumida, uma descrição longa ou ambas.
  7. Clique em Aplicar para fazer as alterações no nó JMSOutput sem fechar o diálogo de propriedades. Clique em OK para aplicar as alterações e fechar o diálogo de propriedades.

    Clique em Cancelar para fechar o diálogo e descartar todas as alterações feitas nas propriedades.

Conectando Terminais

Conecte o terminal de entrada do nó JMSOutput ao nó a partir do qual as mensagens de saída serão roteadas.

Conecte o terminal de saída deste nó a outro nó no fluxo de mensagens, se desejar processar mais a mensagem, para processar erros ou para enviar a mensagem para um destino adicional.

Configurando para Transações Coordenadas

Quando incluir um nó JMSOutput em um fluxo de mensagens, o valor configurado para o Modo de Transação define se as mensagens serão recebidas sob o ponto de sincronização.

  • Se defini-la para global, a mensagem será recebida sob a coordenação do ponto de sincronização externo, ou seja, em uma unidade de trabalho do WebSphere MQ. As mensagens enviadas subseqüentemente por um nó output na mesma instância do fluxo de mensagens são colocadas sob o ponto de sincronização, a menos que o nó output tenha feito a substituição explicitamente.
  • Se defini-la para local, a mensagem será enviada sob o controle do ponto de sincronização local do nó JMSOutput. As mensagens enviadas subseqüentemente por um nó output no fluxo não serão colocadas sob o ponto de sincronização local, a menos que o nó output tenha especificado que a mensagem deve ser colocada sob o ponto de sincronização local.
  • Se você defini-la para nenhum, a mensagem não será enviada sob o ponto de sincronização. As mensagens enviadas subseqüentemente por um nó output no fluxo não são colocadas sob o ponto de sincronização, a menos que o nó output tenha especificado que a mensagem deve ser colocada sob o ponto de sincronização.

O provedor JMS pode fornecer arquivos jar adicionais requeridos para suporte transacional. Consulte a documentação do provedor JMS. Por exemplo, em plataformas Distribuídas (não-z/OS), o provedor JMS do WebSphere MQ fornece um arquivo jar extra com.ibm,mqetclient.jar . Esse jar também deve ser incluído no diretório shared_classes do intermediário. Consulte Disponibilizando o Cliente do Provedor JMS para os Nós JMS neste tópico.

Quando as mensagens forem recebidas sob o ponto de sincronização externo, etapas de configuração adicionais serão requeridas. Estas etapas precisam ser aplicadas apenas na primeira vez que um JMSOutput ou JMSInput for implementado no Intermediário para um provedor JMS específico:
  • Em plataformas distribuídas, o coordenador do ponto de sincronização externo para o intermediário é o WebSphere MQ. Antes de implementar um fluxo de mensagens em que a opção Coordenação de Transações está configurada como Global, modifique o arquivo .ini do gerenciador de filas de forma a incluir definições extras para cada Gerenciador de Recursos de provedor JMS que participa das transações globalmente coordenadas.
    • No Windows, os valores estão configurados sob a guia de propriedades de Recurso de Serviços do WebSphere MQ. Consulte o WebSphere MQ Guia de Administração do Sistema para obter informações adicionais.
      Configure a propriedade SwitchFile para o seguinte valor:
      <Broker Installation Path>/bin/ JMSSwitch.dll
      XAOpenString=<Initial Context >,<location JNDI>, <Optional>
      ThreadOfControl=THREAD
    • Em plataformas distribuídas (não Windows), inclua uma Sub-rotina no arquivo “ini” do gerenciador de filas para cada provedor JMS. Consulte o WebSphere MQ Guia de Administração do Sistema para obter informações adicionais.
      Por exemplo:
      XAResourceManager:
      Name=<Jms_Provider_Name>
      SwitchFile=/<Broker Installation Path>/bin/ JMSSwitch.so
      XAOpenString=<Initial Context >,<location JNDI>, <Optional>
      ThreadOfControl=THREAD
      Onde

      name é um nome definido pela instalação que identifica um Gerenciador de Recursos do provedor JMS.

      SwitchFile é o caminho do sistema de arquivos para a biblioteca JMSSwitch que é fornecida no diretório bin do intermediário.

      Os valores para XAOpenString são os seguintes:
      • Initial Context é o valor configurado na propriedade básica Depósito de Informações do Provedor de Contexto Inicial do nó JMSInput.
      • location JNDI é o valor configurado na propriedade básica Local de JNDI do nó JMSInput. Esse valor deve incluir a palavra-chave inicial file:/, iiop:/ ou ldap:/
      Os parâmetros a seguir são opcionais:
      • Proprietário LDAP que corresponde o valor configurado para o intermediário, utilizando os comandos mqsicreatebroker ou mqsichangebroker.
      • Credenciais LDAP que corresponde o valor configurado para o intermediário, utilizando os comandos mqsicreatebroker ou mqsichangebroker.
      • Nome da Connection Factory de Recuperação que é a connection factory administrada por JNDI definida no arquivo de ligações. Se um valor não for especificado, um valor padrão para recoverXAQCF deverá ser incluído no arquivo de ligações. Em qualquer um dos casos, a Connection Factory de Recuperação deverá ser definida como uma Connection Factory de Fila XA para o provedor JMS associado ao Depósito de Informações do Provedor 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 Java CLASSPATH para o Gerenciador de Filas do intermediário para incluir uma referência no xarecovery.jar. Por exemplo:
        <Broker Installation Path>/classes/xarecovery.jar
      2. Atualize a variável de ambiente Java PATH para o Gerenciador de Filas do intermediário para apontar para o diretório bin, onde o Arquivo do Comutador está localizado. Por exemplo:
        <Broker Installation Path>/bin

      XA não pode utilizar o mesmo Gerenciador de Filas para o intermediário e o provedor até o WebSphere MQ Versão 5.3, CSD12 e WebSphere MQ Versão 6 FixPack 1.

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

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

Terminais e Propriedades

Os terminais do nó JMSOutput são descritos na tabela a seguir.

Terminal Descrição
Defeito O terminal de saída para o qual a mensagem é encaminhada se um ocorrer erro. Mesmo que a propriedade Validação esteja definida, as mensagens propagadas para esse terminal não serão validadas.
Saída O terminal de saída para o qual a mensagem será roteada se for recuperada com êxito da fila do WebSphere MQ.
Capturar O terminal de saída para o qual a mensagem será roteada se for emitida uma exceção downstream 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 (marcado com um asterisco no diálogo de propriedades 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 no arquivo bar para implementá-lo).

As propriedades Básicas do nó JMSOutput são descritas na tabela a seguir.

Propriedade M A O padrão Descrição
Depósito de Informações do Provedor de Contexto Inicial Sim   com.sun.jndi.fscontext.RefFSContextFactory Esse é o ponto de partida de um espaço de nomes de JNDI. Um aplicativo JMS utiliza o contexto inicial para obter e consultar a connection factory e objetos de fila ou tópico para o provedor JMS.

O valor padrão é o utilizado quando o WebSphere MQ Java é utilizado como o provedor JMS.

Ligações JNDI de Local Não     O caminho do sistema ou local LDAP para o arquivo de ligações
Nome da Connection Factory Não     O nome da connection factory utilizada pelo nó JMSOutput para criar uma conexão com o provedor JMS.

As propriedades Avançadas do nó JMSOutput são descritas na tabela a seguir.

Propriedade M A O padrão Descrição
Novo ID de Correlação Não     Essa propriedade é selecionada se um Novo ID de Correlação for requerido.
Modo de Transação Sim Não Nenhum Essa propriedade é para determinar se a mensagem que chega é recebida sob o ponto de sincronização. Valores válidos são Nenhum, local e global.
Modo de Entrega Não   Não Persistente Seletor de mensagens que irá filtrar mensagens de acordo com o modo de entrega de mensagens.
Expiração de Mensagem Não   0 O valor dessa propriedade deve solicitar que o provedor JMS mantenha a mensagem JMS de saída por um período especificado.

Os valores estão em milissegundos e o valor padrão 0 é utilizado para indicar que a mensagem não deve expirar.

Prioridade de Mensagem Não   4 O valor dessa propriedade designa a importância relativa da mensagem. Esse valor pode ser utilizado para seleção de mensagem por um aplicativo cliente JMS receptor ou um nó JMSOutput.

As propriedades de Descrição do nó JMSOutput são descritas na tabela a seguir.

Propriedade M A O padrão Descrição
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.
Notices | Trademarks | Downloads | Library | Support | Feedback
Copyright IBM Corporation 1999, 2006 Last updated: 5월 25, 2006
ac24830_