VRaptor 3.3.0 Lançado

Olá pessoal,

depois de um ótimo feedback e várias contribuições da comunidade, quase 5 mil downloads da versão 3.2.0 fora o maven,
temos o prazer de anunciar a nova versão do VRaptor - a 3.3.0 - com muitas novidades, como por exemplo:

  • Mudança na estratégia de uso do Spring, que agora permite integrar totalmente o Spring com o VRaptor,
    ou seja, usar componentes do VRaptor como dependências para os beans do Spring e vice-versa

  • Melhor integração com o Guice

  • Mudança na ordenação dos interceptors, que elimina a necessidade do InterceptorSequence e passa
    a configuração da ordem para os próprios interceptors.

@Intercepts(after=UmInterceptor.class, before=OutroInterceptor.class)
public class MeuInterceptor implements Interceptor {...}

a ordem de execução será necessariamente:

UmInterceptor > … > MeuInterceptor > … > OutroInterceptor

É possível ainda definir ordens relativas aos interceptors do VRaptor, como é explicado na documentação:
http://vraptor.caelum.com.br/documentacao/interceptadores/

  • as anotações de verbos HTTP agora também podem definir os paths do método
@Get("/items/{id}")
public void visualiza(Long id) {...}

@Post("/items")
public void adiciona(Item item) {...}

@Delete("/items/{id}")
public void remove(Long id) {...}
  • vários bugfixes e melhoria de logs

Agradecimentos especiais ao Otávio Garcia (garcia-jj), que pelas muitas contribuições agora é commiter do VRaptor,
e também a:

  • Allan de Queiroz (alsoqz) - pela organização dos métodos do PageResult
  • Rodolfo Livieiro - pelo vraptor-scaffold cada vez melhor
  • Douglas Campos (qmx) - pela ajuda na refatoração e reestruturação da integração com o Spring
  • Pedro Matiello, David Paniz, Mauricio Aniche e José Donizetti - pela ajuda na nova ordenação de interceptors
  • Gerson Luiz Chagas - por melhorar o ExtJSView
  • Davi (davisnog) - por implementar o @Get("/path")
  • admwagner - pelo HibernateMockValidator
    e ainda para as muitas outras pessoas que deram sugestões, abriram issues, postaram em seus blogs e ajudaram no crescimento
    do VRaptor

download em: http://vraptor.caelum.com.br/download.jsp
changelog completo em: http://vraptor.caelum.com.br/documentacao/changelog/

Se você também quer contribuir com o VRaptor, e ajudar a aumentar a lista de agradecimentos =) se sinta livre em cadastrar
(e/ou resolver) issues no github http://github.com/caelum/vraptor/issues, abrir forks e enviar pull requests ou dar qualquer sugestão.

Muito obrigado a todos, e que o VRaptor fique cada vez melhor com a ajuda da comunidade!

Parabens pelo trabalho ! Usei o vRaptor em apenas um projeto, e espero usá-lo novamente pois gostei bastante da facilidade de uso e do ganho de produtividade

Parabéns!
Já atualizei aqui no projeto. :smiley:

Parabéns!!!

show de bola!!!

usei o vraptor pela 1° vez há 1 ano atrás e hoje sou viciado! heheh

Legal :smiley:

gostei disso:

[quote=Lucas Cavalcanti]

  • Mudança na estratégia de uso do Spring, que agora permite integrar totalmente o Spring com o VRaptor,
    ou seja, usar componentes do VRaptor como dependências para os beans do Spring e vice-versa[/quote]

vou, a partir de agora, poder usar uma annotation do spring security num método pertencente a um component vraptor?

[quote=ricardosoares]gostei disso:

[quote=Lucas Cavalcanti]

  • Mudança na estratégia de uso do Spring, que agora permite integrar totalmente o Spring com o VRaptor,
    ou seja, usar componentes do VRaptor como dependências para os beans do Spring e vice-versa[/quote]

vou, a partir de agora, poder usar uma annotation do spring security num método pertencente a um component vraptor?[/quote]

sim, embora já pudesse antes com algumas restrições. Se vc usa interfaces pra todas as dependências não terá problemas.

Mais um grande avanço da comunidade Java.

Tive alguns problemas ao atualizar do 3.2.0 para o 3.3.0.

  1. Essa nova versão traz o spring 3 como dependência, diferente das versões anteriores que trazia o spring 2.5.
    Com isso, pra que usa maven, não é mais necessário excluir a dependẽncia do spring no vrpator.

  2. Esse foi mais estranho. Quando subi minha aplicação no JBoss 4.2.3, ele reclamou que não encontrava a classe org.aspectj.util.PartialOrder ao criar um bean do Spring da minha aplicação. Analisando as dependências do meu projeto, realmente essa classe não existia. Para resolver adicionei a seguinte dependência no meu pom.xml :

<dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjtools</artifactId> <version>1.6.10</version> </dependency>
Não sei se essa é a solução correta, mas no meu caso foi o único jeito que funcionou.
A única coisa diferente que encontrei na classe onde aconteceu o erro foi um @Transactional :

import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional

@Component
@Transactional(propagation = Propagation.REQUIRES_NEW)
public class MyBean implements MyBeanInterface {
..
}

Estou à disposição para ajudar a investigar esse problema mais a fundo.
No mais, o VRaptor 3.3.0 está excelente, principalmente o novo jeito de definir a ordem dos interceptors.

Excelente noticia Lucas !

Logo logo irei atualizar minha versão

Considero o melhor action framework que existe
Sabe se alguma empresa estrangeira já adotou o VRaptor ?

Abração

se vc usa o VRaptor puro ele não precisa do aspectjtools. Você só precisa dele se tiver um applicationContext.xml definindo
algum dos módulos do spring.

o Spring Transaction é um dos módulos que usa o aspectjtools, por isso o erro.

[quote=Lucas Cavalcanti]
o Spring Transaction é um dos módulos que usa o aspectjtools, por isso o erro.[/quote]

Acho que seria legal colocar isso na documentação então.

Valeu pelo esclarecimento.

Parabéns a equipe responsável e aos colaboradores.

no 3.3.0 objenesis e agora o jfreechart são dependencias do tipo ‘compile’.
Por que o vraptor-blank-project-gae 3.3.0 não vem com essas dependencias na pasta war/WEB-INF/lib?

Ainda não usei o VRaptor, mais sempre tive vontade, estou pra começar um novo projeto pessoal e VRaptor é um forte candidato.

Parabéns a toda equipe !!!

Bom demais da conta.

Minha primeira contribuição para um projeto opensource, esta nessa versão. :lol:

é uma honra ser citado, embora o trabalho pesado tenha sido do Lucas. rsrsrsrsrs

Vou baixar a nova versão amahã e testar

fraternal abraço.

[quote=Mr_Arthur]no 3.3.0 objenesis e agora o jfreechart são dependencias do tipo ‘compile’.
Por que o vraptor-blank-project-gae 3.3.0 não vem com essas dependencias na pasta war/WEB-INF/lib?[/quote]

o plugin do gae não usa objenesis e nem jfreechart, então vc não precisa desses jars pra rodá-lo

vc só precisa dos jars que serão usados em runtime

Estou usando o vraptor em um projeto pessoal e estou gostando muito…

Parabéns a equipe do VRAPTOR, principalmente a Lucas que sempre atende ao público esclarecendo todas as nossas dúvidas.

Nunca usei também. mas parece muito interessante esse framework.