Para quem se interessar, postei no meu blog, um caminho de como interceptar recursos marcados com anotação…
O exemplo usado é com tranzações, mas pode ser facilmente adaptado para qualquer tipo de marcação, como Roles, entre outras coisas.
Para quem se interessar, postei no meu blog, um caminho de como interceptar recursos marcados com anotação…
O exemplo usado é com tranzações, mas pode ser facilmente adaptado para qualquer tipo de marcação, como Roles, entre outras coisas.
Oi Tomaz!
Excelente! Vamos linkar do cookbook em um proximo deploy!
abracos
Estava pensando aqui comigo… mas essa solução de colocar o controle de transação na camada do vraptor não foge um pouco do propósito do vraptor de ser apenas controller?
não esta na camada do VRpator, esta na minha camada…
meu controle de transação, feito com ferramentas do VRaptor, que é pra isso que serve o framework, pra facilitar minha vida ^^
da pra fazer com spring, com N formas,…
mas desta forma com vraptor fica bem limpo, eu estou interceptando os recursos que quero e realizando ações personalizadas do meu projeto.
…
O que fiz não é nativo do vraptor, os Interceptores são justamente para esses propositos, Interceptar ou não um recurso, realizar ações antes do recurso ser executado, e ações depois
Lavieri, o que eu quis dizer é que o controle transacional está na camada controller (vraptor no caso), não que esteja no core do vraptor.
Na verdade há mil formas de fazer uma coisa, e você deve escolher aquela que te facilite, assim como você fez. Foi mais uma sugestão minha, de que o controle transacional fique com o spring, que já possui inclusive tal anotação.
Abraços
não gosto da ideia de me intrelacar em varias dependencias quando não é preciso…o vraptor não depende do spring (e sim de um container, pode ser o pico) … e minha aplicação depende do vraptor, mas não precisa também depender do spring …
assim com 1 classe apenas já me livro, e não preciso me amarrar ao spring
…
o conceito é o mesmo, o spring vai fazer a mesma coisa que eu fiz, vai abrir a tranzação, antes de invocar o método… e depois tentar commitar