[Resolvido]Migrando VRaptor 2 para VRaptor3

9 respostas
Y

Buenas…
Tenho um projeto utilizando o Vraptor 2 e estou tentando migrar para o 3. Alguém já conseguiu essa proeza?
Fiz os passos do site, quero ir migrando aos poucos. Ou seja, continuar utilizando algumas funções do vraptor 2 para não impactar tanto no projeto. O que eu fiz foi mudar o web.xml e adicionar as libs do vraptor 3, e o servidor(jetty) iniciou sem nenhum erro. Mas qualquer página que vou acessar ocorre 404.
Problema em utilizar a lib do vraptor2.5 junto com a do 3? Não é mais possivel acessar as urls com /nomedaclasse.nomedometodo.logic?

9 Respostas

Y

Ok… problema resolvido trocando os nomes das classes de xxxLogic para xxxController. Agora toda vez que preciso fazer alguma consulta com o Hibernate dá o seguinte erro: br.com.caelum.vraptor.InterceptionException: org.hibernate.HibernateException: createCriteria is not valid without active transaction

Lucas_Cavalcanti

não precisa renomear as classes não… basta usar o jar do vraptor2-2.6.2:

http://github.com/caelum/vraptor/blob/master/vraptor-example-compatibility/lib/extras/vraptor2-2.6.2.jar

remova o 2.5

Y

É verdade, valeu.

Sabe me dizer o porque de não estar funcionando o hibernate?

Query query = getSession().createQuery(hql.toString());

Quando vai executar essa linha dá o erro:

br.com.caelum.vraptor.InterceptionException: org.hibernate.HibernateException: createQuery is not valid without active transaction

Não entendi muito bem quais as alterações que tenho que fazer para migrar do vraptor 2 para o 3 e não queria alterar siginificativamente o meu projeto.

Lucas_Cavalcanti

vc tem algum interceptor que controla transações? se tiver, converta-o pra vraptor 3

Y

Eu tenho uma classe HibernateSessionRequestFilter mapeada no meu web.xml como:

<filter>
		<filter-name>HibernateFilter</filter-name>
		<filter-class>
			br.com.framework.filter.HibernateSessionRequestFilter
		</filter-class>
		<init-param>
			<param-name>mapping</param-name>
			<param-value>
				br.com.projeto.model
			</param-value>
		</init-param>	
	</filter>

Fazendo uns testes agora eu vi que não entra mais no método de filtro que inicia a transação. Antes quando acontecia os erros que eu citei pelo menos entrava nesse método.

Lucas_Cavalcanti

muda a ordem de declaração dos filtros no web.xml… se o VRaptor estiver antes do seu filtro inverte, e vice-versa

Y

Era isso mesmo, foi só alterar o xml. Na verdade tirei os mapeamentos antigos e fiz algumas mudanças que funcionou. Valeu pela ajuda

G

Lucas, Paulo, quando irá acabar a retrocompatibilidade com o vraptor 2.6?

Abs

Lucas_Cavalcanti

o vraptor 3 não tem retrocompatibilidade com o vraptor2, apenas tem um modo de compatibilidade, onde algumas coisas do 2 funcionam junto com as do 3…

esse modo de compatibilidade a gente não pretende tirar ainda…

Criado 25 de janeiro de 2010
Ultima resposta 28 de jan. de 2010
Respostas 9
Participantes 3