Erro Session com Vraptor 4?

2 respostas
javavraptor
well

Estou fazendo um projeto com vraptor 4 onde eu tenho que montar uma grade de produtos, e por na sessao, só que da o seguinte erro ao tentar por na sessao:

javax.servlet.ServletException: net.vidageek.mirror.exception.ReflectionProviderException: Could not invoke method adicionaNaSession
br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:120)
root cause

net.vidageek.mirror.exception.ReflectionProviderException: Could not invoke method adicionaNaSession

net.vidageek.mirror.provider.java.PureJavaMethodReflectionProvider.invoke(PureJavaMethodReflectionProvider.java:45)

net.vidageek.mirror.invoke.MethodHandlerByMethod.withArgs(MethodHandlerByMethod.java:54)

br.com.caelum.vraptor.observer.ExecuteMethod.execute(ExecuteMethod.java:87)

sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

java.lang.reflect.Method.invoke(Unknown Source)

org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:93)

org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:266)

org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:253)

org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:232)

org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:169)

org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:165)

org.jboss.weld.event.ObserverNotifier.notifyObservers(ObserverNotifier.java:119)

org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:112)

org.jboss.weld.event.EventImpl.fire(EventImpl.java:83)

br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:78)

br.com.caelum.vraptor.core.DefaultInterceptorStack$Proxy$_$$<em>WeldClientProxy.next(Unknown Source)

br.com.caelum.vraptor.interceptor.DefaultSimpleInterceptorStack.next(DefaultSimpleInterceptorStack.java:49)

br.com.caelum.vraptor.interceptor.DefaultSimpleInterceptorStack$Proxy$</em>$$<em>WeldClientProxy.next(Unknown Source)

br.com.caelum.vraptor.interceptor.InterceptorExecutor.executeAround(InterceptorExecutor.java:77)

br.com.caelum.vraptor.interceptor.InterceptorExecutor$Proxy$</em>$$<em>WeldClientProxy.executeAround(Unknown Source)

br.com.caelum.vraptor.interceptor.AspectStyleInterceptorHandler.execute(AspectStyleInterceptorHandler.java:87)

br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:83)

br.com.caelum.vraptor.interceptor.FlashInterceptor.intercept(FlashInterceptor.java:98)

br.com.caelum.vraptor.interceptor.FlashInterceptor$Proxy$</em>$$<em>WeldClientProxy.intercept(Unknown Source)

br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:58)

br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:83)

br.com.caelum.vraptor.core.DefaultInterceptorStack$Proxy$</em>$$<em>WeldClientProxy.next(Unknown Source)

br.com.caelum.vraptor.interceptor.DefaultSimpleInterceptorStack.next(DefaultSimpleInterceptorStack.java:49)

br.com.caelum.vraptor.interceptor.DefaultSimpleInterceptorStack$Proxy$</em>$$<em>WeldClientProxy.next(Unknown Source)

br.com.inteligenteweb.grade.interceptor.AutorizadorInterceptor.intecepta(AutorizadorInterceptor.java:51)

br.com.inteligenteweb.grade.interceptor.AutorizadorInterceptor$Proxy$</em>$$<em>WeldClientProxy.intecepta(Unknown Source)

sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

java.lang.reflect.Method.invoke(Unknown Source)

net.vidageek.mirror.provider.java.PureJavaMethodReflectionProvider.invoke(PureJavaMethodReflectionProvider.java:38)

net.vidageek.mirror.invoke.MethodHandlerByMethod.withArgs(MethodHandlerByMethod.java:54)

br.com.caelum.vraptor.interceptor.StepInvoker.invokeMethod(StepInvoker.java:63)

br.com.caelum.vraptor.interceptor.StepInvoker.tryToInvoke(StepInvoker.java:54)

br.com.caelum.vraptor.interceptor.StepInvoker$Proxy$</em>$$<em>WeldClientProxy.tryToInvoke(Unknown Source)

br.com.caelum.vraptor.interceptor.InterceptorExecutor.executeAround(InterceptorExecutor.java:75)

br.com.caelum.vraptor.interceptor.InterceptorExecutor$Proxy$</em>$$<em>WeldClientProxy.executeAround(Unknown Source)

br.com.caelum.vraptor.interceptor.AspectStyleInterceptorHandler.execute(AspectStyleInterceptorHandler.java:87)

br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:83)

br.com.caelum.vraptor.interceptor.ExceptionHandlerInterceptor.intercept(ExceptionHandlerInterceptor.java:75)

br.com.caelum.vraptor.interceptor.ExceptionHandlerInterceptor$Proxy$</em>$$<em>WeldClientProxy.intercept(Unknown Source)

br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:58)

br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:83)

br.com.caelum.vraptor.core.DefaultInterceptorStack.start(DefaultInterceptorStack.java:93)

br.com.caelum.vraptor.core.DefaultInterceptorStack$Proxy$</em>$$_WeldClientProxy.start(Unknown Source)

br.com.caelum.vraptor.observer.RequestHandlerObserver.handle(RequestHandlerObserver.java:86)

sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

java.lang.reflect.Method.invoke(Unknown Source)

org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:93)

org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:266)

org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:253)

org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:232)

org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:169)

org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:165)

org.jboss.weld.event.ObserverNotifier.notifyObservers(ObserverNotifier.java:119)

org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:112)

org.jboss.weld.event.EventImpl.fire(EventImpl.java:83)

br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:116)

root cause
java.lang.IllegalArgumentException: Entity not managed

org.hibernate.jpa.spi.AbstractEntityManagerImpl.refresh(AbstractEntityManagerImpl.java:1251)

org.hibernate.jpa.spi.AbstractEntityManagerImpl.refresh(AbstractEntityManagerImpl.java:1227)

sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

java.lang.reflect.Method.invoke(Unknown Source)

org.jboss.weld.bean.proxy.AbstractBeanInstance.invoke(AbstractBeanInstance.java:40)

org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:100)

org.jboss.weld.proxies.EntityManager$-770367075$Proxy$_$$<em>WeldClientProxy.refresh(Unknown Source)

br.com.inteligenteweb.grade.dao.ProdutoDao.recerrega(ProdutoDao.java:50)

br.com.inteligenteweb.grade.dao.ProdutoDao$Proxy$</em>$$<em>WeldClientProxy.recerrega(Unknown Source)

br.com.inteligenteweb.grade.controller.GradeController.adicionaNaSession(GradeController.java:54)

br.com.inteligenteweb.grade.controller.GradeController$Proxy$</em>$$<em>WeldClientProxy.adicionaNaSession(Unknown Source)

sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

java.lang.reflect.Method.invoke(Unknown Source)

net.vidageek.mirror.provider.java.PureJavaMethodReflectionProvider.invoke(PureJavaMethodReflectionProvider.java:38)

net.vidageek.mirror.invoke.MethodHandlerByMethod.withArgs(MethodHandlerByMethod.java:54)

br.com.caelum.vraptor.observer.ExecuteMethod.execute(ExecuteMethod.java:87)

sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

java.lang.reflect.Method.invoke(Unknown Source)

org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:93)

org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:266)

org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:253)

org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:232)

org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:169)

org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:165)

org.jboss.weld.event.ObserverNotifier.notifyObservers(ObserverNotifier.java:119)

org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:112)

org.jboss.weld.event.EventImpl.fire(EventImpl.java:83)

br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:78)

br.com.caelum.vraptor.core.DefaultInterceptorStack$Proxy$</em>$$<em>WeldClientProxy.next(Unknown Source)

br.com.caelum.vraptor.interceptor.DefaultSimpleInterceptorStack.next(DefaultSimpleInterceptorStack.java:49)

br.com.caelum.vraptor.interceptor.DefaultSimpleInterceptorStack$Proxy$</em>$$<em>WeldClientProxy.next(Unknown Source)

br.com.caelum.vraptor.interceptor.InterceptorExecutor.executeAround(InterceptorExecutor.java:77)

br.com.caelum.vraptor.interceptor.InterceptorExecutor$Proxy$</em>$$<em>WeldClientProxy.executeAround(Unknown Source)

br.com.caelum.vraptor.interceptor.AspectStyleInterceptorHandler.execute(AspectStyleInterceptorHandler.java:87)

br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:83)

br.com.caelum.vraptor.interceptor.FlashInterceptor.intercept(FlashInterceptor.java:98)

br.com.caelum.vraptor.interceptor.FlashInterceptor$Proxy$</em>$$<em>WeldClientProxy.intercept(Unknown Source)

br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:58)

br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:83)

br.com.caelum.vraptor.core.DefaultInterceptorStack$Proxy$</em>$$<em>WeldClientProxy.next(Unknown Source)

br.com.caelum.vraptor.interceptor.DefaultSimpleInterceptorStack.next(DefaultSimpleInterceptorStack.java:49)

br.com.caelum.vraptor.interceptor.DefaultSimpleInterceptorStack$Proxy$</em>$$<em>WeldClientProxy.next(Unknown Source)

br.com.inteligenteweb.grade.interceptor.AutorizadorInterceptor.intecepta(AutorizadorInterceptor.java:51)

br.com.inteligenteweb.grade.interceptor.AutorizadorInterceptor$Proxy$</em>$$<em>WeldClientProxy.intecepta(Unknown Source)

sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

java.lang.reflect.Method.invoke(Unknown Source)

net.vidageek.mirror.provider.java.PureJavaMethodReflectionProvider.invoke(PureJavaMethodReflectionProvider.java:38)

net.vidageek.mirror.invoke.MethodHandlerByMethod.withArgs(MethodHandlerByMethod.java:54)

br.com.caelum.vraptor.interceptor.StepInvoker.invokeMethod(StepInvoker.java:63)

br.com.caelum.vraptor.interceptor.StepInvoker.tryToInvoke(StepInvoker.java:54)

br.com.caelum.vraptor.interceptor.StepInvoker$Proxy$</em>$$<em>WeldClientProxy.tryToInvoke(Unknown Source)

br.com.caelum.vraptor.interceptor.InterceptorExecutor.executeAround(InterceptorExecutor.java:75)

br.com.caelum.vraptor.interceptor.InterceptorExecutor$Proxy$</em>$$<em>WeldClientProxy.executeAround(Unknown Source)

br.com.caelum.vraptor.interceptor.AspectStyleInterceptorHandler.execute(AspectStyleInterceptorHandler.java:87)

br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:83)

br.com.caelum.vraptor.interceptor.ExceptionHandlerInterceptor.intercept(ExceptionHandlerInterceptor.java:75)

br.com.caelum.vraptor.interceptor.ExceptionHandlerInterceptor$Proxy$</em>$$<em>WeldClientProxy.intercept(Unknown Source)

br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:58)

br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:83)

br.com.caelum.vraptor.core.DefaultInterceptorStack.start(DefaultInterceptorStack.java:93)

br.com.caelum.vraptor.core.DefaultInterceptorStack$Proxy$</em>$$_WeldClientProxy.start(Unknown Source)

br.com.caelum.vraptor.observer.RequestHandlerObserver.handle(RequestHandlerObserver.java:86)

sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

java.lang.reflect.Method.invoke(Unknown Source)

org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:93)

org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:266)

org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:253)

org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:232)

org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:169)

org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:165)

org.jboss.weld.event.ObserverNotifier.notifyObservers(ObserverNotifier.java:119)

org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:112)

org.jboss.weld.event.EventImpl.fire(EventImpl.java:83)

br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:116)

note The full stack trace of the root cause is available in the Apache Tomcat/9.0.0.M17 logs.
@SessionScoped
@Named
public class Grade implements Serializable {	
	/**
	 * 
	 */
	private static final long serialVersionUID = 1994020420046282667L;

	private List<Item> itens = new ArrayList<Item>();
	
	private BigDecimal valorTotal;
	

	
	
	public void adicionaNaSession(Item item){
		itens.add(item);		
		valorTotal = item.getProduto().getValor().multiply(BigDecimal.valueOf(item.getQuantidade()));
	
	}
	
	public Integer getTotalDeItens() {
		return itens.size();
	}


	public List<Item> getItens() {
		return itens;
	}

	public void setItens(List<Item> itens) {
		this.itens = itens;
	}

	public BigDecimal getValorTotal() {
		return valorTotal;
	}

	public void setValorTotal(BigDecimal valorTotal) {
		this.valorTotal = valorTotal;
	}


	public static long getSerialversionuid() {
		return serialVersionUID;
	}

public class Item {

	private Produto produto;
	
	private Integer quantidade;
	
	
	public Produto getProduto() {
		return produto;
	}

	public void setProduto(Produto produto) {
		this.produto = produto;
	}

	public Integer getQuantidade() {
		return quantidade;
	}

	public void setQuantidade(Integer quantidade) {
		this.quantidade = quantidade;
	}
	
	
	
}

@Controller
public class GradeController {
	
		
	private final Grade grade;
	private final ProdutoDao dao;
	private final Result result;
	
	@Inject
	public GradeController(Grade grade, ProdutoDao dao, Result result){
	this.grade = grade;
	this.dao = dao;
	this.result = result;
}

	public GradeController() {
		this(null, null, null);
	}
	
	
	@Get
	public List<Item> listaItens(){
		return grade.getItens();
	}
	
	
	
	
	@Get
	@Path("/grade/visualiza")
	public void visualiza(){
		
	}
	
	@Post
	@Path("/grade")
	public void adicionaNaSession(Item item){
		dao.recerrega(item.getProduto());
		grade.adicionaNaSession(item);
		
		result.redirectTo(ProdutoController.class).lista();
		
		
	}
		
	
}

Sera onde estou errando?

2 Respostas

L

Isso te diz algo?

well

Sim ja vi esse erro porem, ele ocorre devido a classe item eu acredito, porem item não é uma classe do banco, no vraptor 3 funcionava normalmente, agora não, tem alguma anotação especifica?

Criado 19 de março de 2017
Ultima resposta 20 de mar. de 2017
Respostas 2
Participantes 2