Ordenação e mensagens estritas usando especificações de ativação ou portas do listener ASF conectadas ao WebSphere MQ Versão 7.x
A ordenação de mensagens estritas pode ser atingida ao implementar aplicativos de bean acionado por mensagens para o provedor de sistema de mensagens do WebSphere MQ para quando nenhum recurso especial tiver sido codificado no aplicativo para manipular mensagens que chegam fora de ordem.
Para WebSphere Application Server Versão 7 e posterior, as portas listener são estabilizadas. Para obter informações adicionais, leia o artigo
sobre recursos estabilizados. Você deve planejar migrar as configurações de implementação do bean acionado por mensagens do WebSphere MQ do uso de portas do listener para o uso de especificações de ativação. Para obter informações adicionais sobre como configurar as especificações de ativação para o modo não ASF, veja Configurando especificações de ativação para o modo não ASF. No entanto, você não deve iniciar esta migração até ter certeza de que o aplicativo não precisa funcionar nos servidores de aplicativos anteriores ao WebSphere Application Server Versão 7. Por exemplo, se você possuir um cluster do servidor de aplicativos com alguns membros na Versão 6.1 e alguns em uma versão posterior, não deverá migrar os aplicativos nesse cluster para usar as especificações de ativação até depois de ter migrado todos os servidores de aplicativos no cluster para a versão posterior.
- O aplicativo de bean acionado por mensagens (MDB) é transacional.
- O limite de retorno (BOTHRESH) na fila do WebSphere MQ foi configurado para 0.
- Você está usando o WebSphere MQ Versão 7.0 ou posterior.
Configuração do WebSphere Application Server para Entrega Ordenada
- O gerenciador de filas do WebSphere MQ deve estar em execução no WebSphere MQ Versão 7.0 ou posterior.
- A conexão com o gerenciador de filas deve usar o modo normal do provedor de sistema de mensagens do WebSphere MQ. Consulte o tópico Regras para selecionar o modo de provedor de sistema de mensagens do WebSphere MQ do centro de informações do WebSphere MQ.
- Se você estiver usando nas portas do listener no WebSphere Application Server, Máximo de Sessões deve ser configurado como 1.
- Se você estiver usando especificações de ativação no WebSphere Application Server, Máximo de Sessões do Servidor deve ser configurado como 1.
Informações importantes sobre esta configuração
- As portas do listener ASF e as especificações de ativação do WebSphere MQ contêm duas partes separadas, que juntas executam a entrega de mensagens. Essas duas partes são vistas como aplicativos separados
pelo gerenciador de filas:
- A parte um detecta mensagens conforme elas chegam, mas não as consome. Em vez disso, ela as despacha para a segunda parte.
- A parte dois é um conjunto de sessões do servidor que aloca um encadeamento para processar a mensagem dentro da transação do aplicativo, e a entrega para o método onMessage() do MDB.
- A partir da Versão 7.0, o WebSphere MQ fornece um modelo de push para detecção das mensagens, que é mais eficiente do que o modelo de pesquisa usado nas versões anteriores do WebSphere MQ, e fornece melhor ordenação de mensagens sob operação normal.
Circunstâncias nas quais as mensagens podem ser entregues fora de ordem
As mensagens podem ser entregues fora de ordem com esta configuração nas seguintes circunstâncias:
Considerações para uma Implementação de Cluster
- Você deve ativar o MDB apenas em um membro de cluster, pois o servidor de aplicativos não possui um recurso que possa gerenciar esta ativação automaticamente.
- É possível configurar o estado de inicialização de portas do listener como parado, separadamente da configuração do estado de inicialização de um aplicativo.
- É possível iniciar e parar aplicativos, portas do listener do ASF e terminais de mensagens manualmente com interfaces MBean usando script wsadmin, ou usando as interfaces com.ibm.websphere.management.AdminClient do código Java™.