Exceções de serviço de transação
As exceções que o serviço de transação do WebSphere Application Server pode lançar são listadas com um resumo de cada exceção.
Se o contêiner de EJB capturar uma exceção do sistema do método de negócio de um enterprise bean e o método estiver em execução dentro de uma transação gerenciada por contêiner, o contêiner efetua rollback da transação antes de transmitir a exceção para o cliente. Para obter mais informações sobre como o contêiner trata as exceções lançadas pelos métodos de negócios para beans com demarcação de transação gerenciada por contêiner, consulte a seção Manipulação de Exceção na the Especificação Enterprise JavaBeans 2.0. Essa seção especifica a ação do contêiner como uma função da condição sob a qual o método de negócio é executado e da exceção emitida pelo método de negócios. Também ilustra a exceção que o cliente recebe e como o cliente pode se recuperar da exceção.
Exceções Padrão
As exceções padrão, como TransactionRequiredException, TransactionRolledbackException e InvalidTransactionException são definidas na especificação JTA (Java™ Transaction API) 1.1.- InvalidTransactionException
- Esta exceção indica que o pedido continha um contexto de transação inválido.
- Exceção TransactionRequiredException
- Esta exceção indica que um pedido continha um contexto de transação nulo, mas o objeto de destino exige uma transação ativa.
- Exceção TransactionRolledbackException
- Esta exceção indica que a transação associada ao processamento do pedido sofreu rollback ou está marcada para rollback. Portanto, a operação pedida não pôde ser executada ou não foi executada porque computação adicional em nome da transação seria infrutífera.
Exceções Heurísticas
Uma decisão heurística é uma decisão unilateral tomada por um ou mais participantes em uma transação para efetuar commit ou rollback de atualizações sem antes obter o resultado do consenso determinado pelo Serviço de Transação. As decisões heurísticas são uma preocupação somente depois que o participante tiver sido preparado e a segunda fase do processamento de commit estiver em curso. As decisões heurísticas em geral são tomadas somente em circunstâncias incomuns, tais como repetidas falhas do gerenciador de transação em se comunicar com um gerenciador de recursos durante o two-phase commit. Se uma decisão heurística for tomada, existe um risco de que a decisão seja diferente do resultado do consenso, resultando em uma perda de integridade dos dados.A lista a seguir fornece um resumo das exceções heurísticas. Para obter mais detalhes, consulte a especificação Java Transaction API (JTA) 1.1.
- Exceção HeuristicRollback
- Esta exceção é indicada na operação de commit para relatar que uma decisão heurística foi tomada e que foi efetuado rollback de todas as atualizações.
- Exceção HeuristicMixed
- Esta exceção é indicada na operação de commit para relatar que uma decisão heurística foi tomada e que foi efetuado commit de algumas atualizações relevantes e rollback de outras.