Tengo en una web de pruebas 3 botones, Agregar item #1, AGregar Item #2 y Ver Items
los botones llaman a un @Named bean llamado manager a los metodos manager.agregaritem1 y asi sucesivamente.
El manager a su vez tiene en el metodo agregaritem1 la llamada a la clase de control mantenimientoite,]ms.java que es laque tiene los metodos de agregar items
La clase hace esto para el boton #1
Código Java:
Ver original
public void agregarItem1Carrito(){ Query query = em.createQuery("SELECT i from item i where i.id_item=1"); //Luego de que definimos la query tenemos que castearla a un objeto item item i = (item)query.getSingleResult(); carrito.agregarItem(i); }
Si hago el debug netbeans me muestra que todo esta correcto y que alfinal carrito.agregarItem(i) contiene un item correcto.
De hecho para probar le agregue antes una impresion en pantalla que muestre el titulo del item que recoge y se muestra perfecto.
Pense que podria estar el error en el @Stateful bean llamado carrito asi que lo debugeo tambien
Código Java:
Ver original
@Stateful @StatefulTimeout(value=20, unit = TimeUnit.SECONDS) public class Carrito { public List<item> cosas; public void agregarItem (item i){ cosas.add(i); }
Netbeans en el debug me muestra que cuando el metodo agregarItem es invocado en esta parte, esta recibiendo un objeto correcto de laclase.
Sin embargo me salta un null pointer exception:
javax.ejb.EJBTransactionRolledbackException
at org.jboss.as.ejb3.tx.CMTTxInterceptor.handleInCall erTx(CMTTxInterceptor.java:163)
at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInCall erTx(CMTTxInterceptor.java:253)
at org.jboss.as.ejb3.tx.CMTTxInterceptor.required(CMT TxInterceptor.java:342)
at org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvoc ation(CMTTxInterceptor.java:239)
at org.jboss.invocation.InterceptorContext.proceed(In terceptorContext.java:309)
Caused by: java.lang.NullPointerException
at ejb.Carrito.agregarItem(Carrito.java:38)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.jboss.as.ee.component.ManagedReferenceMethodIn terceptor.processInvocation(ManagedReferenceMethod Interceptor.java:52)