Qual a melhor maneira de controlar transações no VRaptor?[RESOLVIDO]

Olá galera

Eu li o livro de VRaptor do Lucas Cavalcanti, e eu vi que tem algumas formas de controlar transações no VRaptor, gostaria de saber qual a melhor dessas:

1 - Usando o plugin do JPA ou Hibernate, ele abre uma transação no inicio da requisição e fecha no final. Eu gostaria de saber se ele abre transação em todas as requisições, ou apenas as que necessitam. E gostaria de saber quanto custoso é abrir transações em todas as requisições.

2 - Utilizando o Spring, integrar com o Spring para deixar o controle de transações com o Spring.

3 - Criar um interceptor para controlar minhas transações, no caso as transações seriam abertas apenas nos métodos anotados.

Queria saber a opinião de algumas pessoas sobre isso.

Qual seria a maneira maneira mais “leve” no quesito velocidade.

Obrigado pela atenção

Bruno, não existe alternativa melhor, sem dar um contexto…

a 1a é a mais simples de usar, caso a sua aplicação não receba muitas requisições por segundo. E sim, ele abre uma transação a cada requisição tratada pelo VRaptor, mesmo que não precise. E isso adiciona alguns poucos milissegundos a cada requisição.

Esses milisegundos só vão fazer diferença se vc recebe muitas requisições por segundo.

quanto à 2 e à 3 depende do nível de controle que vc quer ter… o Spring Tx te dá um controle gigantesco, com transação dentro de transação, casos em que vai ou não ter rollback e várias outras coisas. Se vc precisa disso, use ele. Mas é mais difícil de configurar

Com o interceptor é razoavelmente fácil de configurar, mas o controle é simples: ter ou não ter transação na requisição.

Você não deve se preocupar com a alternativa mais “leve”, se isso não for problema pra sua aplicação. “Otimização prematura é a raiz de todos os problemas da computação”

Em todo caso, se vc abre a transação, o mais leve é não abrir transação onde não precisa, independente de ser spring ou o seu interceptor.

Show de bola Lucas

Obrigado pelas dicas, pelas suas dicas acho q vou escolher aquela do interceptor que vc fez no seu livro, gostei bastante daquela implementação, eu tinha visto ela se eu nao me engano na documentação do VRaptor porém eu tinha entendido errado o seu funcionamento, no livro eu vi realmente como usar ela.

Livro show de bola, deu pra me aprofundar um pouco a mais sobre o que é o VRaptor e o seu poder.

Parabéns.

Abraços

Obrigado pelo feedback! =)