O algoritmo de formato de dispositivo é utilizado para determinar o JSP apropriado a ser utilizado como resposta para um determinado pedido. Quando é recebido um pedido e o mapeador de mensagens é utilizado para converter o pedido em um objeto CommandProperty, o mapeador de mensagens e o adaptador utilizado para processar o pedido determinam o formato de dispositivo apropriado para gerar o conteúdo da resposta. O ID do mapeador de mensagens é incluído no ID de formato de dispositivo do adaptador para determinar o ID de formato de dispositivo geral da resposta. Este ID de formato de dispositivo geral e o VIEWNAME são utilizados para obter o JSP apropriado da tabela VIEWREG, que gera o conteúdo da resposta.
Cada adaptador que esteja aceitando pedidos e utilizando o mapeador de mensagens recebe um ID de formato de dispositivo. Este ID é definido no arquivo de configuração instance_name.xml do adaptador.Este ID é definido na configuração do adaptador encontrada no arquivo de configuração instance_name.xml.O ID de formato de dispositivo padrão para cada adaptador receptor que utiliza o mapeador de mensagens está em intervalos de -10000. Um adaptador de programa tem um ID de formato de dispositivo de -10000 e o WebSphere MQ Adapter tem um ID de formato de dispositivo de -20000. O adaptador que suporta mensagens legacy utiliza o ID de formato de dispositivo -30000. Ao determinar o JSP apropriado e o comando de exibição para chamar o JSP, o ID do mapeador de mensagens é incluído no ID de formato de dispositivo do adaptador para determinar o ID de formato de dispositivo para a exibição de resposta. No entanto, se a exibição do ID de formato de dispositivo calculada não existir, a exibição padrão do intervalo do adaptador será utilizada. Assim, para um pedido XML sobre HTTP, o ID de formato de dispositivo padrão será -10000 e para os pedidos do WebSphere MQ Adapter, o ID de formato de dispositivo padrão será -20000. A diferenciação de exibições de respostas é necessária para que uma resposta HTTP utilize a interface HttpForwardViewCommand enquanto uma resposta do WebSphere MQ Adapter utiliza a interface MessagingViewCommand.
Este algoritmo aceita um máximo de 9999 possíveis mapeadores de mensagens a serem definidos com um adaptador. O arquivo de configuração para cada mapeador de mensagens contém um número de ID em intervalos de 1. Para configurar adaptadores adicionais que utilizam o mapeador de mensagens deve ser fornecido um ID de formato de dispositivo que esteja em um intervalo de 10000. Por exemplo, um novo mecanismo de solicitação pode receber um intervalo de formato de dispositivo de 40000.
Notas:
- Se o ID de formato de dispositivo calculado não puder ser encontrado, o ID de formato de dispositivo padrão do adaptador será utilizado para obter o resultado. Este número é configurável na configuração do adaptador HTTP.
- O tamanho do intervalo não é importante. Por exemplo, se existirem apenas dois mapeadores de mensagens, o intervalo poderá ser de tamanho 3. O intervalo 10000 é utilizado por padrão.
Exemplos
- Uma mensagem de entrada é tratada por um mapeador de mensagens com um ID -1 e pelo adaptador do programa que tem um ID de formato de dispositivo -10000. Seguindo o algoritmo de formato do dispositivo, o ID de formato de dispositivo gerado para resposta dessa mensagem de entrada seria -10001. O arquivo JSP definido na tabela VIEWREG para o VIEWNAME e o ID de formato de dispositivo -10001 é utilizado para criar a resposta.
- Como alternativa, uma mensagem recebida é manipulada pelo mesmo mapeador de mensagens com o ID de -1, porém, é manipulada pelo WebSphere MQ Adapter, que possui um ID de formato de dispositivo de -20000. O ID de formato de dispositivo gerado para a resposta a essa mensagem seria -20001. Assim, o arquivo JSP definido na tabela VIEWREG para o VIEWNAME e o ID de formato de dispositivo -20001 é utilizado para criar a resposta. Note que, mesmo que o pedido possa utilizar o mesmo JSP para responder ao pedido, a classe utilizada para chamar o JSP pode ser diferente.