Este tópico contém as seguintes seções:
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. O nó JMSInput age como um consumidor de mensagens JMS e pode receber todos os seis tipos de mensagens definidos no 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 é representado no workbench pelo seguinte ícone:
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 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 de Entrada para o subfluxo.
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.
Quando tiver colocado uma instância do nó JMSInput 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ó sã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ó JMSInput da seguinte forma:
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.
Ao digitar um valor para Ligações de JNDI de Local, assegure que esteja de acordo com as seguintes instruções:
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.
Deixe Conjunto de Mensagens em branco para os analisadores XML, XMLNS, JMS, e BLOB.
Deixe Tipo de Mensagem em branco para os analisadores XML, XMLNS, JMS, , BLOB e .
Deixe Formato da Mensagem em branco para os analisadores XML, XMLNS, JMSMap, JMSStream, e BLOB.
Deixe esta propriedade em branco se não desejar que o nó de entrada selecione com base na propriedade do aplicativo. Consulte Seletores de Mensagens JMS para obter uma descrição de como construir o seletor de mensagens.
Deixe esta propriedade em branco se não desejar que o nó de entrada selecione com base em JMSTimeStamp.
Deixe esta propriedade em branco se não desejar que o nó de entrada selecione com base em JMSDeliveryMode.
Os valores válidos para prioridade de mensagem vão de 0 (o mais baixo) a 9 (o mais alto). Por exemplo, você pode digitar 5 para receber mensagens com prioridade 5. Também pode qualificar o seletor, por exemplo, > 4 para receber mensagens com uma prioridade maior do que 4 ou BETWEEN 4 AND 8 para receber mensagens com uma prioridade no intervalo de 4 a 8.
Deixe esta propriedade em branco se não desejar que o nó de entrada selecione com base em JMSPriority.
Digite um ID de Mensagem específico ou digite um seletor condicional, por exemplo, digite > WMBRK123456 para retornar mensagens quando o ID da Mensagem for maior do que WMBRK123456.
Deixe essa propriedade em branco se não quiser que o nó de entrada faça uma seleção baseada no JMSMessageID.
Digite FALSE se o nó de entrada aceitar somente mensagens que não foram entregues novamente pelo Provedor JMS.
Digite TRUE se o nó de entrada aceitar somente mensagens que foram entregues novamente pelo Provedor JMS.
Deixe essa propriedade em branco se não quiser que o nó de entrada faça a seleção com base em JMSRedelivered.
Digite um ID de Correlação específico ou digite uma cadeia condicional; por exemplo, WMBRKABCDEFG retorna mensagens cujo ID de Correlação corresponde a esse valor.
Deixe essa propriedade em branco se não desejar que o nó de entrada faça a seleção com base em JMSCorrelationID.
Se quiser Utilizar o Analisador Compacto XMLNSC para Domínio XMLNS, selecione a caixa de opções.
Para Modo de Retenção de Conteúdo Misto, Modo de Retenção de Comentários e Modo de Retenção de Instruções de Processamento, as caixas drop-down oferecem as seguintes opções:
Clique em Cancelar para fechar o diálogo e descartar todas as alterações feitas nas propriedades.
Para cada mensagem recebida com sucesso, o nó JMSInput roteia a mensagem para o terminal de saída. Se isso falhar, a mensagem será repetida. Se o limite de nova tentativa for atingido, sendo que o limite é definido pelo atributo BackoutThreshold do nó, a mensagem é roteada para o terminal de falha.
Você pode conectar nós ao terminal de falha para manipular essa condição. Se você não tiver conectado nós ao terminal de falha, a mensagem será gravada no destino de backout. Se não tiver sido fornecido um destino de backout, será emitida uma mensagem de erro e o nó parará o processamento de entrada adicional. A mensagem de erro é bip4669.
Se a mensagem for capturada pelo nó JMSInput após a emissão de uma exceção em outro lugar no fluxo de mensagens, a mensagem será roteada para o terminal de captura. Se você não tiver conectado os nós ao terminal de captura, o nó efetuará backout da mensagem para uma nova entrega até que o problema seja resolvido ou o limite de backout seja alcançado.
É necessário definir um destino de backout. Se não for definido um destino de backout, o nó emitirá uma mensagem de erro bip4669 e parará o processamento de entrada adicional.
Quando incluir um nó JMSInput 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.
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.
<Broker Installation Path>/bin/ JMSSwitch.dll XAOpenString=<Initial Context >,<location JNDI>, <Optional> ThreadOfControl=THREAD
XAResourceManager: Name=<Jms_Provider_Name> SwitchFile=/<Broker Installation Path>/bin/ JMSSwitch.so XAOpenString=<Initial Context >,<location JNDI>, <Optional> ThreadOfControl=THREADOnde
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 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.
<Broker Installation Path>/classes/xarecovery.jar
<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.
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 .
Os terminais do nó JMSInput 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. |
Out | O terminal de saída para o qual a mensagem será roteada se for recuperada com êxito da fila do WebSphere MQ. |
Catch | 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ó JMSInput 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ó JMSInput para criar uma conexão com o provedor JMS. | ||
Destino de Backout | Não | O destino utilizado pelo nó JMSInput quando uma mensagem não pode ser processada pelo fluxo de mensagens devido a erros na mensagem. | ||
Limiar de Restauração | Não | 0 | O valor que controla quando uma mensagem entregue novamente é colocada no destino de backout. |
As propriedades Avançadas do nó JMSInput são descritas na tabela a seguir.
Propriedade | M | A | O padrão | Descrição |
---|---|---|---|---|
Modo de Transação | Sim | Não | nenhum | Essa propriedade é utilizada para determinar se a mensagem que chega é recebida sob o ponto de sincronização externo, o ponto de sincronização local ou fora do ponto de sincronização. Os valores válidos são nenhum, local e global. |
As propriedades de Descrição do nó JMSInput estã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. |