Gerenciando Transação em EJB O gerenciamento de transação é um dos conceitos mais importantes no desenvolvimento de sistemas coorporativos. Ele permite que um bloco de código possa ser tratado como uma larga e atômica unidade de trabalho.
Em Enterprise JavaBeans o gerenciamento de transação pode ser feito de duas formas: 1) Transações Programáticas Nesse tipo de transação o controle é feito explicitamente por código. O código do Bean deve chamar o begin(), commit() ou rollback(). Dessa forma o usuário tem mais controle porém se desfoca da programação do negócio para preocupar-se com infra-estrutura. Esse tipo de transação não pode ser aplicado em Entity Beans. 2) Transações Declarativas Com transações declarativas o Bean não precisa preocupar-se com o gerenciamento da transação, o Container EJB assume esse papel. As transações declarativas facilitam o desenvolvimento uma vez que não precisamos acessar uma API de transação (JTA) diretamente. É necessário instruir ao Container sobre o uso de transações declarativas ou programáticas, como mostrado no deployment descriptor abaixo: <ejb-jar> <enterprise-beans> <session> <ejb-name>DicasList </ejb-name> <home>ejb.DicasListHome </home> <remote>ejb.DicasList</remote> <ejb-class>ejb.DicasListBean</ejb-class> <session-type>Stateless</session-type> <transaction-type>Container</transaction-type> </session> </enterprise-beans> </ejb-jar> Segundo a especificação EJB temos os seguintes tipos de transações que o Container pode gerenciar: 1) Required - Este tipo de transação usa uma transação já existente, caso não existe cria uma. 2) RequiresNew - Sempre cria uma nova transação. 3) Supports - Reaproveita a transação existente, caso não exista não cria uma nova. 4) Mandatory - O método que é mandatory deve ser chamado com um contexto transacional já existente, caso contrário um erro é gerado. 5) NotSupported - Nunca usa transação 6) Never - Nunca usa transação e caso seja chamado dentro de um contexto transacional um erro é disparado. Gleydson Lima [EMAIL PROTECTED] JSPBrasil (www.jspbrasil.com.br) _______________________________________________________________________ Yahoo! Mail O melhor e-mail gratuito da internet: 6MB de espaço, antivírus, acesso POP3, filtro contra spam. http://br.mail.yahoo.com/ ================================================================================ [dicas-list] circula diariamente com pequenas dicas sobre a plataforma Java e é mais um serviço da Sociedade de Usuários Java - http://www.soujava.org.br *** SouJava - Fortalecendo a Comunidade Java Brasileira! *** - Para contribuir com uma dica, envie um e-mail para [EMAIL PROTECTED] - Participe de outras listas de discussão sobre a linguagem Java. Saiba mais em http://www.soujava.org.br/lista.htm -------------------------------------------------------------------------------- - Para assinar este boletim: mailto:[EMAIL PROTECTED] - Para cancelar sua assinatura: mailto:[EMAIL PROTECTED] - Dicas anteriores: http://www.mail-archive.com/dicas-list%40soujava.org.br - Para discutir sobre as dicas, acesse o Mundo OO (http://www.mundooo.com.br)