Mapeando os campos e propriedades do cabeçalho da mensagem para e a partir do formato do IBM MQ

Quando a integração de serviço converte uma mensagem para o formato do IBM MQ, ela configura os campos no MQMD e no MQRFH2 com base nos campos e propriedades do cabeçalho da mensagem de integração de serviço; esses incluem campos de cabeçalho e propriedades de mensagem JMS aplicáveis à mensagem. Quando a integração de serviço converte uma mensagem do formato IBM MQ, ela configura os campos e propriedades do cabeçalho da mensagem de integração de serviço do MQMD e MQRFH2 na mensagem do IBM MQ.

Trocando Mensagens entre Programas JMS Utilizando a Integração de Serviços e o IBM MQ

Geralmente, não é preciso estar ciente da conversão entre os formatos de mensagens para a troca de mensagens JMS entre a integração de serviço e o IBM MQ, pois a integração de serviço executa a conversão apropriada automaticamente, incluindo a codificação de caracteres e numérica. Entretanto, você poderá ter que aprender sobre conversão de mensagens se os aplicativos JMS não se comportarem como esperado ou se a configuração da integração de serviços contiver programas ou mediações do JMS que processe mensagens de/para programas IBM MQ não JMS.

Se os aplicativos da integração de serviços trocarem objetos MapMessage com aplicativos do IBM MQ, você poderá ter de especificar um formato de codificação de mensagens de mapa não padrão.

Propriedades de Mensagem do IBM MQ: MQMD e MQRFH2

As mensagens do WebSphere MQ contêm propriedades de mensagens no descritor de mensagem (MQMD) e nas regras e no cabeçalho de formatação 2 (MQRFH2). A mensagem do IBM MQ sempre inclui um MQMD, mas o MQRFH2 é opcional porque alguns aplicativos WebSphere MQ não podem processar mensagens que contêm um MQRFH2. Para simplificar a interoperação, você pode configurar a integração de serviço para omitir o MQRFH2 das mensagens para aplicativos que não podem processar o MQRFH2. Quando a integração de serviço omite o MQRFH2, ela descarta os campos e propriedades do cabeçalho de integração de serviço correspondentes.
Nota: Uma pequena quantidade de informações do MQRFH2 também é armazenada nos campos MQMD. No entanto, esses campos MQMD não são exatamente equivalentes, tendem a ser menos específicos e não se pode contar com eles para fornecer um substituto adequado para as informações do MQRFH2. Assim, se o aplicativo de recebimento puder aceitar um cabeçalho MQRFH2, você sempre deve fornecer um.

Da mesma forma, a integração de serviço pode receber mensagens dos aplicativos IBM MQ que geram mensagens sem nenhum MQRFH2. Quando a integração de serviço recebe uma mensagem sem nenhum MQRFH2, ela cria um cabeçalho de integração de serviço "best guess", obtendo toda a informação possível do MQMD e usando os valores padrão para os outros campos.

Para obter informações detalhadas sobre o conteúdo do descritor de mensagens e os cabeçalhos de mensagens, consulte o IBM MQ Application Programming Reference. Para obter detalhes do suporte JMS do IBM MQ, incluindo os detalhes de como o IBM MQ armazena propriedades de mensagens JMS e campos de cabeçalho no MQMD e no MQRFH2, consulte IBM MQ.

Propriedades de Mensagem do IBM MQ: Campos de Cabeçalho JMS

A tabela a seguir mostra como a integração de serviço mapeia campos de cabeçalho JMS de e para os campos do MQMD e MQRFH2 ao converter mensagens do e para o formato do IBM MQ.

A tabela mostra o campo MQRFH2 como folder.field, em que folder é o nome da pasta MQRFH2 que contém o campo e field é o nome do campo dentro da pasta MQRFH2.

Para diversos campos de cabeçalho JMS, há um campo MQMD e MQRFH2. Quando a integração de serviço está convertendo mensagens no formato IBM MQ, ela configura os campos MQMD e MQRFH2.Quando a integração de serviço converte as mensagens a partir do formato do IBM MQ, ela configura o campo do cabeçalho JMS a partir do campo MQRFH2, se estiver disponível, caso contrário, a partir do campo do MQMD.

Tabela 1. Campos do Cabeçalho JMS, MQMD e MQRFH2. A primeira coluna desta tabela lista os campos de cabeçalho JMS e a segunda coluna mostra os campos do MQMD que se relacionam aos campos de cabeçalho JMS na primeira coluna. A terceira coluna mostra os campos do MQRFH2 que se relacionam aos campos de cabeçalho JMS na primeira coluna. A quarta coluna fornece links, onde necessário, para as notas de rodapé que aparecem após a tabela.
Campo de Cabeçalho JMS Campo MQMD Campo MQRFH2 Comunicados
JMSCorrelationID CorrelId jms.Cid Consulte a Nota 1.
JMSDeliveryMode Persistência jms.Dlv Consulte a Nota 15.
JMSDestination   jms.Dst Consulte a Nota 16.
JMSExpiration Expiração jms.Exp  
JMSMessageID MsgId    
JMSPriority Prioridade   Consulte a Nota 2.
JMSRedelivered BackoutCount   Consulte a Nota 3.
JMSReplyTo ReplyToQ e ReplyToQMgr jms.Rto Consulte a Nota 16.
JMSTimestamp PutDate e PutTime jms.Tms  
JMSType   mcd.Type  
Nota 1: O campo CorrelId do MQMD pode manter um ID de Correlação do IBM MQ padrão com 48 dígitos hexadecimais (24 bytes). O JMSCorrelationID pode ser um valor byte[], um valor de cadeia que contém caracteres hexadecimais e prefixado com "ID:", ou um valor de cadeia arbitrário não começando com "ID:". Os dois primeiros representam um ID de Correlação do IBM MQ padrão e são mapeados diretamente para o, ou do, campo CorrelId do MQMD (truncado ou preenchido com zeros quando aplicável); eles não usam o campo jms.Cid do MQRFH2. O terceiro (cadeia arbitrária) usa o campo MQRFH2 jms.Cid; os primeiros 24 bytes da cadeia, no formato UTF-8, são gravados no MQMD CorrelID.
Nota 2: O IBM MQ armazena o valor JMSPriority no campo jms.Pri MQRFH2, mas não usa nenhum valor já presente nesse campo. A integração de serviço não verifica ou configura o campo MQRFH2 jms.Pri.
Nota 3: A integração de serviço configura o indicador JMSRedelivered para uma mensagem que ela recebe do IBM MQ com base no campo BackoutCount do MQMD; um valor BackoutCount diferente de zero indica que um recebimento anterior para a mensagem foi retrocedido.

Propriedades da Mensagem do IBM MQ: Propriedades do JMS Definidas

A tabela a seguir mostra como a integração de serviço mapeia as propriedades definidas do JMS para o, ou a partir dos campos MQMD e MQRFH2 ao converter mensagens do e para o formato do IBM MQ.

A tabela mostra o campo MQRFH2 como folder.field, em que folder é o nome da pasta MQRFH2 que contém o campo e field é o nome do campo dentro da pasta MQRFH2.

Para diversas propriedades definidas pelo JMS, há um campo MQMD e um campo MQRFH2. Quando a integração de serviço está convertendo mensagens no formato IBM MQ, ela configura os campos MQMD e MQRFH2.Quando a integração de serviço converte as mensagens a partir do formato do IBM MQ, ela configura a propriedade definida do JMS a partir do campo MQRFH2, se estiver disponível, caso contrário, a partir do campo do MQMD.

Tabela 2. Propriedades do JMS com Campos MQMD e MQRFH2. A primeira coluna desta tabela lista as propriedades definidas do JMS e a segunda coluna mostra os campos do MQMD que se relacionam às propriedades definidas do JMS na primeira coluna. A terceira coluna mostra os campos do MQRFH2 que se relacionam às propriedades definidas do JMS na primeira coluna. A quarta coluna fornece links, onde necessário, para as notas de rodapé que aparecem após a tabela.
Propriedade Definida pelo JMS Campo MQMD Campo MQRFH2 Comunicados
JMSXAppID PutApplName    
JMSXDeliveryCount BackoutCount    
JMSXGroupID GroupId jms.Gid Consulte as Notas 4 e 5.
JMSXGroupSeq MsgSeqNumber jms.Seq  
JMSXUserID UserIdentifier    
Nota 4: O campo GroupId MQMD pode manter um GroupId IBM MQ padrão com 48 dígitos hexadecimais (24 bytes). O JMSXGroupID é um valor de cadeia que contém caracteres hexadecimais e prefixados com "ID:" ou um valor de cadeia arbitrário que não começa com "ID:". O primeiro representa um GroupId padrão do IBM MQe é mapeado diretamente para o, ou a partir do, campo GroupId do MQMD (truncado ou preenchido com zeros quando aplicável). O segundo (sequência arbitrária) usa o campo MQRFH2 jms.Gid; os primeiros 24 bytes da sequência, no formato UTF-8, são gravados no MQMD GroupId.
Nota 5: Quando a integração de serviço converte mensagens para o formato do IBM MQ, se JMSXGroupID tiver sido configurado, a integração de serviço também configurará o sinalizador MQMF_MSG_IN_GROUP no campo MsgFlags do MQMD. Observe que ao enviar mensagens de grupo, o aplicativo JMS de envio deve garantir que o sinalizador MQMF_LAST_MSG_IN_GROUP esteja configurado como requerido (consulte Propriedades da Mensagem do IBM MQ: Propriedades Específicas do Provedor JMS).

Propriedades da Mensagem do IBM MQ: Propriedades Específicas do Provedor JMS

A tabela a seguir mostra como a integração de serviço mapeia as propriedades específicas do provedor do JMS para os, ou a partir dos, campos MQMD e MQRFH2 ao converter mensagens do e para o formato do WebSphere MQ. Geralmente, você usa essas propriedades para satisfazer requisitos especiais no aplicativo de recebimento, de modo que possa consultar o desenvolvedor ou administrador do aplicativo de recebimento para obter detalhes dos valores de propriedade requeridos.

Tabela 3. Propriedades Específicas do Provedor do JSM com Campos MQMD e MQRFH2. A primeira coluna desta tabela lista as propriedades específicas do provedor JMS e a segunda coluna mostra os campos do MQMD que se relacionam às propriedades específicas do provedor JMS na primeira coluna. A terceira coluna mostra os campos do MQRFH2 que se relacionam às propriedades específicas do provedor do JMS na primeira coluna. A quarta coluna fornece links, onde necessário, para as notas de rodapé que aparecem após a tabela.
Propriedade Específica do Provedor JMS Campo MQMD Campo MQRFH2 Comunicados
JMS_IBM_ArmCorrelator   mqext.Arm Consulte a Nota 6.
JMS_IBM_Character_Set CodedCharacterSetId CodedCharacterSetId Consulte a Nota 7.
JMS_IBM_Encoding Encoding Encoding Consulte a Nota 7.
JMS_IBM_Feedback Feedback    
JMS_IBM_Format Formato Formato Consulte a Nota 7.
JMS_IBM_Last_Msg_In_Group MQMF_LAST_MSG_IN_GROUP   Consulte a Nota 8.
JMS_IBM_MQMD_CorrelId CorrelId   Consulte as Notas 9 e 10.
JMS_IBM_MQMD_MsgId MsgId   Consulte as Notas 9 e 11.
JMS_IBM_MQMD_Persistence Persistence   Consulte as Notas 9, 12 e 15.
JMS_IBM_MQMD_ReplyToQ ReplyToQ   Consulte as Notas 9, 13 e 16.
JMS_IBM_MQMD_ReplyToQMgr ReplyToQMgr   Consulte as Notas 9, 13 e 16.
JMS_IBM_MsgType MsgType    
JMS_IBM_PutDate PutDate    
JMS_IBM_PutTime PutTime    
JMS_IBM_Report_* Report   Consulte a Nota 14.
JMS_IBM_RMCorrelator   mqext.Wrm  
JMS_TOG_ARM_Correlator   mqext.Arm Consulte a Nota 6.
Nota 6: Você deve usar o nome JMS_TOG_ARM_Correlator para o correlacionador ARM. O nome JMS_IBM_ArmCorrelator está disponível para compatibilidade com alguns programas JMS existentes.
Nota 7: As propriedades JMS_IBM_Character_Set, JMS_IBM_Encoding e JMS_IBM_Format contêm informações sobre a carga útil da mensagem do IBM MQ; ou seja, a parte da mensagem do IBM MQ que segue o MQRFH2 (se houver) ou toda a mensagem do IBM MQ, excluindo o MQMD, se não houver nenhum MQRFH2. Para mais informações sobre essas propriedades e sobre como usá-las, consulte Mapeando o corpo da mensagem para e a partir do formato do IBM MQ.
Nota 8: MQMF_LAST_MSG_IN_GROUP é uma das sinalizações no campo MsgFlags do MQMD.
Nota 9: As propriedades JMS_IBM_MQMD_CorrelId, JMS_IBM_MQMD_MsgId, JMS_IBM_MQMD_Persistence, JMS_IBM_MQMD_ReplyToQ e JMS_IBM_MQMD_ReplyToQMgr permitem que os aplicativos JMS substituam o processamento padrão da integração de serviço dos campos MQMD do IBM MQ. Quando a integração de serviço converte as mensagens para o formato do IBM MQ, a integração de serviço configura o campo MQMD correspondente para cada uma dessas propriedades se, e somente se, essa propriedade tiver sido configurada explicitamente pelo aplicativo (usando setObjectProperty() ou setNonNullProperty()).

A integração de serviço configura cada uma dessas propriedades a partir do campo do MQMD correspondente quando converter uma mensagem a partir do formato do IBM MQ.

Nota 10: A propriedade JMS_IBM_MQMD_CorrelId substitui o processamento padrão da propriedade JMSCorrelationID. Quando a integração de serviço converte as mensagens para o formato do IBM MQ, a integração de serviço configura o campo CorrelId MQMD para o valor (byte[]) se a propriedade JMS_IBM_MQMD_CorrelId for configurada explicitamente, independentemente do valor (se houver) da propriedade JMSCorrelationID. Configurar a propriedade JMS_IBM_MQMD_CorrelId não afeta o valor do campo jms.Cid MQRFH2

Quando a integração de serviço converte as mensagens a partir do formato do IBM MQ, a integração de serviço configura a propriedade JMS_IBM_MQMD_CorrelId para o valor (byte[]) do campo MQMD CorrelId, independentemente do valor (se houver) da propriedade jms.Cid do MQRFH2.

Nota 11: A propriedade JMS_IBM_MQMD_MsgId substitui o processamento padrão do JMS da propriedade JMSMessageID. Quando a integração de serviço converte as mensagens para o formato do IBM MQ, a integração de serviço verifica se a propriedade JMS_IBM_MQMD_MsgId foi configurada explicitamente. Se foi, a integração de serviço configura o campo MsgId MQMD para esse valor (byte[]) e substitui o valor exclusivo do JMSMessageID que o JMS aloca para a mensagem.

Quando a integração de serviço converte as mensagens a partir do formato do IBM MQ, a integração de serviço configura a propriedade JMS_IBM_MQMD_MsgId para o valor (byte[]) do campo MsgId MQMD.

Nota 12: A propriedadeJMS_IBM_MQMD_Persistence substitui o processamento padrão da propriedade JMSDeliveryMode. Quando a integração de serviço converte as mensagens para o formato do IBM MQ, a integração de serviço configura o campo Persistência MQMD para o valor (número inteiro) se a propriedade JMS_IBM_MQMD_Persistence for configurada explicitamente, independentemente do valor (se houver) da propriedade JMSDeliveryMode. Configurar a propriedade JMS_IBM_MQMD_Persistence não afeta o valor do campo jms.Dlv do MQRFH2.

Quando a integração de serviço converte as mensagens a partir do formato do IBM MQ, a integração de serviço configura a propriedade JMS_IBM_MQMD_Persistence para o valor (número inteiro) do campo Persistência do MQMD, independentemente do valor (se houver) do campo jms.Dlv do MQRFH2.

Nota 13: As propriedades JMS_IBM_MQMD_ReplyToQ e JMS_IBM_MQMD_ReplyToQMgr substituem o processamento padrão da propriedade JMSReplyTo. Quando a integração de serviço converte as mensagens para o formato do IBM MQ, a integração de serviço configura o campo ReplyToQ do MQMD para o valor (sequência) se a propriedade JMS_IBM_MQMD_ReplyToQ for configurada explicitamente e configura o campo ReplyToQMgr do MQMD para o valor (sequência) se a propriedade JMS_IBM_MQMD_ReplyToQMgr for configurada explicitamente, independentemente do valor (se houver) da propriedade JMSReplyTo. Configurar o campo JMS_IBM_MQMD_ReplyToQ ou JMS_IBM_MQMD_ReplyToQMgr não afeta o valor do campo jms.Rto do MQRFH2.

Quando a integração de serviço converte as mensagens a partir do formato do IBM MQ, a integração de serviço configura as propriedades JMS_IBM_MQMD_ReplyToQ e JMS_IBM_MQMD_ReplyToQMgr para os valores (sequência) dos campos ReplyToQ e ReplyToQMgr do MQMD, independentemente do valor (se houver) do campo jms.Rto do MQRFH2.

Nota 14: Para obter uma lista de propriedades JMS_IBM_Report_*, consulte Mapeando os campos Relatório MQMD para as propriedades específicas ao provedor JMS.
Nota 16: Para obter informações adicionais, consulte Mapeando destinos para e a partir de filas, tópicos e destinos do IBM MQ.

Ícone que indica o tipo de tópico Tópico de Referência



Ícone de registro de data e hora Última atualização: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rjc0007_
Nome do arquivo: rjc0007_.html