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?