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 Especificação Java Message Service, Versão 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:
Os fluxos de mensagens que manipulam mensagens recebidas de conexões com provedores JMS devem começar sempre com um nó JMSInput. Se você incluir o nó JMSOutput em um fluxo de mensagens, não será necessário incluir um nó JMSInput, mas caso um nó JMSInput não seja incluído, o nó MQJMSTransform deverá ser incluído 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.
Para sistemas distribuídos, copie os arquivos .jar java e todas as bibliotecas nativas para o cliente do provedor JMS no 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.
queue://QM_mn2/myJMSQueue4Nesse caso, o valor é a representação específica do provedor JMS de um Destino JMS para o Provedor JMS WMQSeries.
jndi:\\jmsQ4em que jmsQ4 é o nome do objeto administrado JNDI.
Ocorre um pequeno código extra no desempenho com a utilização desse método, pois existe a necessidade de consultar o objeto administrado no JNDI.
Se a intenção é permitir que o nó JMSOutput configure a propriedade JMSReplyTo dinamicamente na mensagem de saída, deixe o atributo Reply To Destination em branco e configure o valor JMSReplyTo na MbMessage utilizando um nó Compute ou um nó JavaCompute.
O nó resolve o nome do objeto administrado JNDI que é fornecido no Publication Topic ou no Destination Queue e envia a mensagem para esse Destino JMS.
Quando você coloca uma instância do nó JMSOutput em um fluxo de mensagens, é possível configurá-la clicando com o botão direito do mouse no nó na visualização do editor e clicando em Propriedades. As propriedades básicas do nó serão exibidas no diálogo de propriedades.
Todas as propriedades obrigatórias que não têm um valor padrão definido são marcadas com um asterisco na caixa de diálogo de propriedades.
Configure o nó JMSOutput 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.
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.
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.
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.
Para obter detalhes adicionais, consulte Validando Mensagens e Propriedades de Validação para Mensagens no Domínio MRM.
Clique em Cancelar para fechar a caixa de diálogo e descartar todas as alterações feitas nas propriedades.
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 do nó JMSOutput a outro nó no fluxo de mensagens, se quiser processar mais uma mensagem, para processar erros ou para enviar a mensagem para um destino adicional.
Quando você inclui o nó JMSOutput em um fluxo de mensagens, o valor configurado para Modo de Transação define se as mensagens são enviadas sob um 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, o provedor JMS do WebSphere MQ fornece um arquivo jar extra com.ibm,mqetclient.jar, que 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.
install_dir/bin/ JMSSwitch.dll XAOpenString=Initial Context,location JNDI,Optional_parms ThreadOfControl=THREAD
XAResourceManager: Name=Jms_Provider_Name SwitchFile=/install_dir/bin/ JMSSwitch.so XAOpenString=Initial Context,location JNDI,Optional_parms 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.
<Caminho de Instalação do Intermediário>/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.0 Fix Pack 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ó 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 | C | 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 de Publicação/Assinatura do nó JMSOutput são descritas na tabela a seguir.
Propriedade | M | C | Padrão | Descrição |
---|---|---|---|---|
Tópico do Publicador | Não | O nome do tópico a partir do qual o nó recebe mensagens publicadas. |
As propriedades Ponto a Ponto do nó JMSOutput são descritas na tabela a seguir.
Propriedade | M | C | Padrão | Descrição |
---|---|---|---|---|
Fila de Destino | Não | O nome da fila para a qual o nó publica mensagens de saída. |
As propriedades de Pedido do nó JMSOutput são descritas na tabela a seguir.
Propriedade | M | C | Padrão | Descrição |
---|---|---|---|---|
Modo de Destino | Não | Nome do Destino | Essa propriedade é utilizada para determinar se a mensagem deve ser tratada como um pedido de um datagrama ou como uma resposta. | |
Destino de Resposta | Não | Esse valor é 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. |
As propriedades Avançadas do nó JMSOutput são descritas na tabela a seguir.
Propriedade | M | C | 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 Validação do nó JMSOutput são descritas na tabela a seguir.
Consulte Propriedades de Validação para Mensagens no Domínio MRM para obter uma descrição completa dessas propriedades.Propriedade | M | C | Padrão | Descrição |
---|---|---|---|---|
Validar | Sim | Sim | Nenhum | Essa propriedade determina se a validação ocorrerá. Os valores válidos são Nenhum, Conteúdo e Conteúdo e Valor. |
Ação de Defeito | Sim | Não | Exceção | Essa propriedade determina o que acontece se a validação falhar. Você pode configurar essa propriedade somente se configurar Validar como Conteúdo ou Conteúdo e Valor. Os valores válidos são Rastreio do Usuário, Registro de Erros Local, Exceção e Lista de Exceção. |
Incluir Todas as Limitações do Valor | Sim | Não | Selecionado | Essa propriedade não pode ser editada. A ação padrão, indicada pela seleção da caixa de opções, é que as verificações básicas de limitação de valor estão incluídas na validação Conteúdo e Valor. |
Corrigir | Sim | Não | Nenhum | Essa propriedade não pode ser editada. |
As propriedades de Descrição do nó JMSOutput são descritas na tabela a seguir.
Propriedade | M | C | 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. |