Agrupamento em Sequência para Persistência Gerenciada por Contêiner em Módulos EJB Montados

Após a montagem de um módulo Enterprise JavaBeans (EJB) que contém beans persistência gerenciada por contêiner (CMP), é possível evitar a ocorrência de determinados tipos de exceções relacionadas a bancos de dados durante o tempo de execução do aplicativo. Utilizando o agrupamento de sequência, é possível especificar a ordem na qual os beans de entidade atualizam as tabelas do banco de dados relacional.

Nota: Os beans de entidade não são suportados nos módulos EJB 3.x.

Exceções de Eliminação Resultantes das Violações de RI (Referential Integrity)

O agrupamento em sequencia é particularmente útil para evitar violações da RI referential integrity do banco de dados. Uma política de RI de banco de dados prescreve regras para como os dados são gravados e excluídos das tabelas de banco de dados para manter a consistência relacional. Os requisitos de tempo de execução para o gerenciamento da persistência de beans, no entanto, pode fazer com que um aplicativo EJB viole as regras de RI, o que pode causar exceções de banco de dados. Esses requisitos de tempo de execução ordenam que:
  • Um bean de entidade crie e remova operações correlacionadas com o banco de dados imediatamente mediante uma chamada de método.
  • As alterações do bean de entidade sejam armazenadas em cache pelo contêiner de EJB até que um método localizador seja chamado ou a transação seja finalizada.
Consequentemente, a ordem na qual os beans de entidade atualizam o banco de dados é imprevisível. Essa falta de método resulta em um alto risco do aplicativo violar a RI do banco de dados. Embora o armazenamento em cache de operações para processamento em lote substitua esses requisitos de tempo de execução, isso não garante uma sequência de persistência de bean que segue uma determinada política de RI.

A única maneira de garantir uma sequencia da persistência que respeite a RI do banco de dados é designar a sequencia, o que é feito no editor do descritor de implementação EJB da ferramenta de montagem. Por meio do recurso de agrupamento em sequencia, você designa beans para grupos de CMP. Dentro de cada grupo, você especifica a ordem em que o gerenciador de persistência insere dados de bean no banco de dados para realizar atualizações em violar a RI.

Consulte o tópico Definindo o Tempo de Execução para Grupos de Sequências de CMP para obter instruções detalhadas sobre como projetar grupos de sequências. Consulte o administrador do banco de dados sobre a política de RI com a qual é preciso sincronizar.

Minimização do Risco de Exceção para Esquemas Otimistas de Controle de Coincidência.

O agrupamento em sequência também pode reduzir o risco de exceções de retrocesso de transação para beans de entidade que são configurados para controle de simultaneidade otimista. Nesses esquemas de controle de coincidências, as travas de banco de dados são mantidas por quantidades mínimas de tempo, para que um número máximo de transações consistentemente tenha acesso aos dados. O estado relativamente irrestrito do banco de dados pode levar às exceções de rollback da transação por duas razões comuns:
  • Quando as transações coincidentes tentam travar a mesma linha da tabela, ocorre um conflito no banco de dados.
  • As transações podem ocorrer em uma ordem que viola a lógica do aplicativo.

Utilize o recurso de agrupamento em sequencia para ordenar a persistência de bean para que esses cenários tenham menos probabilidade de ocorrer.


Ícone que indica o tipo de tópico Tópico de Conceito



Í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=cejb_sequence
Nome do arquivo: cejb_sequence.html