0

I'm using IBM RSA as IDE and my server is IBM WebSphere. Entity classes and Entity Controllers already generated by the RSA from the DB automatically.

But on utx.begin() line, throwing "NullPointerException"

Actually before this error I was getting the same exception on EntityManagerFactory, but I solved that in constructor method for now

I don't understand

Here is my Manager Class:

import com.ibm.jpa.web.JPAManager;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import com.ibm.jpa.web.NamedQueryTarget;
import com.ibm.jpa.web.Action;
import javax.persistence.PersistenceUnit;
import javax.annotation.Resource;
import javax.transaction.UserTransaction;
import entities.Raporlar;
import java.util.List;
import javax.persistence.Query;
import java.text.MessageFormat;
import java.util.ArrayList;
import javax.ejb.EJBContext;
import javax.faces.context.FacesContext;
import javax.faces.model.SelectItem;
@SuppressWarnings("unchecked")
@JPAManager(targetEntity = entities.Raporlar.class)
public class RaporlarManager {
    @PersistenceUnit
    private EntityManagerFactory emf;
    @Resource
    private UserTransaction utx;
    public RaporlarManager() {
        emf = Persistence.createEntityManagerFactory("new");
        }
    private EntityManager getEntityManager() {
        return emf.createEntityManager();
    }
    @Action(Action.ACTION_TYPE.CREATE)
    public void createRaporlar(Raporlar raporlar) throws Exception {
        EntityManager em = getEntityManager();
        try {
            utx.begin();
            em.joinTransaction();
            em.persist(raporlar);
            utx.commit();
        } catch (Exception ex) {
            try {
                utx.rollback();
            } catch (Exception e) {
                ex.printStackTrace();
                throw e;
            }
            throw ex;
        } finally {
            em.close();
        }
    }
    @Action(Action.ACTION_TYPE.DELETE)
    public void deleteRaporlar(Raporlar raporlar) throws Exception {
        EntityManager em = getEntityManager();
        try {
            utx.begin();
            em.joinTransaction();
            raporlar = em.merge(raporlar);
            em.remove(raporlar);
            utx.commit();
        } catch (Exception ex) {
            try {
                utx.rollback();
            } catch (Exception e) {
                ex.printStackTrace();
                throw e;
            }
            throw ex;
        } finally {
            em.close();
        }
    }
    @Action(Action.ACTION_TYPE.UPDATE)
    public void updateRaporlar(Raporlar raporlar) throws Exception {
        EntityManager em = getEntityManager();
        try {
            utx.begin();
            em.joinTransaction();
            raporlar = em.merge(raporlar);
            utx.commit();
        } catch (Exception ex) {
            try {
                utx.rollback();
            } catch (Exception e) {
                ex.printStackTrace();
                throw e;
            }
            throw ex;
        } finally {
            em.close();
        }
    }
    @Action(Action.ACTION_TYPE.FIND)
    public Raporlar findRaporlarById(long id) {
        Raporlar raporlar = null;
        EntityManager em = getEntityManager();
        try {
            raporlar = (Raporlar) em.find(Raporlar.class, id);
        } finally {
            em.close();
        }
        return raporlar;
    }
    @Action(Action.ACTION_TYPE.NEW)
    public Raporlar getNewRaporlar() {

        Raporlar raporlar = new Raporlar();

        return raporlar;
    }
    @NamedQueryTarget("getRaporlar")
    public List<Raporlar> getRaporlar() {
        EntityManager em = getEntityManager();
        List<Raporlar> results = null;
        try {
            Query query = em.createNamedQuery("getRaporlar");
            results = (List<Raporlar>) query.getResultList();
        } finally {
            em.close();
        }
        return results;
    }
    /**
     * Retrieve a list of entities that can be used to populate a combo box. The
     * MessageFormat can be used to format how your list items will be
     * displayed.
     */
    public List<SelectItem> getRaporlarSelectList() {
        List<Raporlar> raporlarList = getRaporlar();
        List<SelectItem> selectList = new ArrayList<SelectItem>();
        MessageFormat mf = new MessageFormat("{0}");
        for (Raporlar raporlar : raporlarList) {
            selectList.add(new SelectItem(raporlar, mf.format(
                    new Object[] { raporlar.getId() }, 
                    new StringBuffer(), null).toString()));
        }
        return selectList;
    }
}

StackTrace:

[30.06.2016 23:58:55:501 EEST] 000000a4 SystemErr     R 

java.lang.NullPointerException
[30.06.2016 23:58:55:501 EEST] 000000a4 SystemErr     R     at entities.controller.RaporlarManager.createRaporlar(RaporlarManager.java:44)
[30.06.2016 23:58:55:501 EEST] 000000a4 SystemErr     R     at rapor.Rapor.doBtnKaydetAction(Rapor.java:121)
[30.06.2016 23:58:55:501 EEST] 000000a4 SystemErr     R     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[30.06.2016 23:58:55:502 EEST] 000000a4 SystemErr     R     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
[30.06.2016 23:58:55:502 EEST] 000000a4 SystemErr     R     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
[30.06.2016 23:58:55:502 EEST] 000000a4 SystemErr     R     at java.lang.reflect.Method.invoke(Method.java:611)
[30.06.2016 23:58:55:502 EEST] 000000a4 SystemErr     R     at org.apache.el.parser.AstValue.invoke(AstValue.java:268)
[30.06.2016 23:58:55:502 EEST] 000000a4 SystemErr     R     at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:278)
[30.06.2016 23:58:55:502 EEST] 000000a4 SystemErr     R     at org.apache.jasper.el.JspMethodExpression.invoke(JspMethodExpression.java:70)
[30.06.2016 23:58:55:502 EEST] 000000a4 SystemErr     R     at javax.faces.component._MethodExpressionToMethodBinding.invoke(_MethodExpressionToMethodBinding.java:88)
[30.06.2016 23:58:55:502 EEST] 000000a4 SystemErr     R     at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:100)
[30.06.2016 23:58:55:502 EEST] 000000a4 SystemErr     R     at javax.faces.component.UICommand.broadcast(UICommand.java:120)
[30.06.2016 23:58:55:505 EEST] 000000a4 SystemErr     R     at javax.faces.component.UIViewRoot._broadcastAll(UIViewRoot.java:973)
[30.06.2016 23:58:55:505 EEST] 000000a4 SystemErr     R     at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:275)
[30.06.2016 23:58:55:505 EEST] 000000a4 SystemErr     R     at javax.faces.component.UIViewRoot._process(UIViewRoot.java:1285)
[30.06.2016 23:58:55:505 EEST] 000000a4 SystemErr     R     at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:711)
[30.06.2016 23:58:55:505 EEST] 000000a4 SystemErr     R     at org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(InvokeApplicationExecutor.java:34)
[30.06.2016 23:58:55:505 EEST] 000000a4 SystemErr     R     at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:172)
[30.06.2016 23:58:55:505 EEST] 000000a4 SystemErr     R     at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:119)
[30.06.2016 23:58:55:505 EEST] 000000a4 SystemErr     R     at javax.faces.webapp.FacesServlet.service(FacesServlet.java:189)
[30.06.2016 23:58:55:505 EEST] 000000a4 SystemErr     R     at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1227)
[30.06.2016 23:58:55:505 EEST] 000000a4 SystemErr     R     at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:776)
[30.06.2016 23:58:55:505 EEST] 000000a4 SystemErr     R     at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:458)
[30.06.2016 23:58:55:505 EEST] 000000a4 SystemErr     R     at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178)
[30.06.2016 23:58:55:505 EEST] 000000a4 SystemErr     R     at com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.java:136)
[30.06.2016 23:58:55:505 EEST] 000000a4 SystemErr     R     at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:97)
[30.06.2016 23:58:55:505 EEST] 000000a4 SystemErr     R     at webfilter.AuthorizationFilter.doFilter(AuthorizationFilter.java:35)
[30.06.2016 23:58:55:506 EEST] 000000a4 SystemErr     R     at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195)
[30.06.2016 23:58:55:506 EEST] 000000a4 SystemErr     R     at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91)
[30.06.2016 23:58:55:506 EEST] 000000a4 SystemErr     R     at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:928)
[30.06.2016 23:58:55:506 EEST] 000000a4 SystemErr     R     at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1025)
[30.06.2016 23:58:55:506 EEST] 000000a4 SystemErr     R     at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:87)
[30.06.2016 23:58:55:506 EEST] 000000a4 SystemErr     R     at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:909)
[30.06.2016 23:58:55:506 EEST] 000000a4 SystemErr     R     at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1662)
[30.06.2016 23:58:55:506 EEST] 000000a4 SystemErr     R     at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:200)
[30.06.2016 23:58:55:506 EEST] 000000a4 SystemErr     R     at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:459)
[30.06.2016 23:58:55:506 EEST] 000000a4 SystemErr     R     at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:526)
[30.06.2016 23:58:55:506 EEST] 000000a4 SystemErr     R     at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:312)
[30.06.2016 23:58:55:506 EEST] 000000a4 SystemErr     R     at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:88)
[30.06.2016 23:58:55:506 EEST] 000000a4 SystemErr     R     at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:175)
[30.06.2016 23:58:55:506 EEST] 000000a4 SystemErr     R     at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
[30.06.2016 23:58:55:506 EEST] 000000a4 SystemErr     R     at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
[30.06.2016 23:58:55:506 EEST] 000000a4 SystemErr     R     at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
[30.06.2016 23:58:55:506 EEST] 000000a4 SystemErr     R     at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
[30.06.2016 23:58:55:506 EEST] 000000a4 SystemErr     R     at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
[30.06.2016 23:58:55:506 EEST] 000000a4 SystemErr     R     at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
[30.06.2016 23:58:55:506 EEST] 000000a4 SystemErr     R     at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1862)
[30.06.2016 23:58:55:506 EEST] 000000a4 SystemErr     R java.lang.NullPointerException
[30.06.2016 23:58:55:507 EEST] 000000a4 SystemErr     R     at entities.controller.RaporlarManager.createRaporlar(RaporlarManager.java:50)
[30.06.2016 23:58:55:507 EEST] 000000a4 SystemErr     R     at rapor.Rapor.doBtnKaydetAction(Rapor.java:121)
[30.06.2016 23:58:55:507 EEST] 000000a4 SystemErr     R     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[30.06.2016 23:58:55:507 EEST] 000000a4 SystemErr     R     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
[30.06.2016 23:58:55:507 EEST] 000000a4 SystemErr     R     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
[30.06.2016 23:58:55:507 EEST] 000000a4 SystemErr     R     at java.lang.reflect.Method.invoke(Method.java:611)
[30.06.2016 23:58:55:507 EEST] 000000a4 SystemErr     R     at org.apache.el.parser.AstValue.invoke(AstValue.java:268)
[30.06.2016 23:58:55:507 EEST] 000000a4 SystemErr     R     at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:278)
[30.06.2016 23:58:55:507 EEST] 000000a4 SystemErr     R     at org.apache.jasper.el.JspMethodExpression.invoke(JspMethodExpression.java:70)
[30.06.2016 23:58:55:507 EEST] 000000a4 SystemErr     R     at javax.faces.component._MethodExpressionToMethodBinding.invoke(_MethodExpressionToMethodBinding.java:88)
[30.06.2016 23:58:55:507 EEST] 000000a4 SystemErr     R     at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:100)
[30.06.2016 23:58:55:507 EEST] 000000a4 SystemErr     R     at javax.faces.component.UICommand.broadcast(UICommand.java:120)
[30.06.2016 23:58:55:507 EEST] 000000a4 SystemErr     R     at javax.faces.component.UIViewRoot._broadcastAll(UIViewRoot.java:973)
[30.06.2016 23:58:55:507 EEST] 000000a4 SystemErr     R     at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:275)
[30.06.2016 23:58:55:507 EEST] 000000a4 SystemErr     R     at javax.faces.component.UIViewRoot._process(UIViewRoot.java:1285)
[30.06.2016 23:58:55:507 EEST] 000000a4 SystemErr     R     at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:711)
[30.06.2016 23:58:55:507 EEST] 000000a4 SystemErr     R     at org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(InvokeApplicationExecutor.java:34)
[30.06.2016 23:58:55:507 EEST] 000000a4 SystemErr     R     at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:172)
[30.06.2016 23:58:55:507 EEST] 000000a4 SystemErr     R     at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:119)
[30.06.2016 23:58:55:507 EEST] 000000a4 SystemErr     R     at javax.faces.webapp.FacesServlet.service(FacesServlet.java:189)
[30.06.2016 23:58:55:507 EEST] 000000a4 SystemErr     R     at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1227)
[30.06.2016 23:58:55:507 EEST] 000000a4 SystemErr     R     at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:776)
[30.06.2016 23:58:55:507 EEST] 000000a4 SystemErr     R     at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:458)
[30.06.2016 23:58:55:508 EEST] 000000a4 SystemErr     R     at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178)
[30.06.2016 23:58:55:508 EEST] 000000a4 SystemErr     R     at com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.java:136)
[30.06.2016 23:58:55:508 EEST] 000000a4 SystemErr     R     at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:97)
[30.06.2016 23:58:55:508 EEST] 000000a4 SystemErr     R     at webfilter.AuthorizationFilter.doFilter(AuthorizationFilter.java:35)
[30.06.2016 23:58:55:508 EEST] 000000a4 SystemErr     R     at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195)
[30.06.2016 23:58:55:508 EEST] 000000a4 SystemErr     R     at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91)
[30.06.2016 23:58:55:508 EEST] 000000a4 SystemErr     R     at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:928)
[30.06.2016 23:58:55:508 EEST] 000000a4 SystemErr     R     at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1025)
[30.06.2016 23:58:55:508 EEST] 000000a4 SystemErr     R     at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:87)
[30.06.2016 23:58:55:508 EEST] 000000a4 SystemErr     R     at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:909)
[30.06.2016 23:58:55:508 EEST] 000000a4 SystemErr     R     at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1662)
[30.06.2016 23:58:55:508 EEST] 000000a4 SystemErr     R     at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:200)
[30.06.2016 23:58:55:508 EEST] 000000a4 SystemErr     R     at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:459)
[30.06.2016 23:58:55:508 EEST] 000000a4 SystemErr     R     at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:526)
[30.06.2016 23:58:55:508 EEST] 000000a4 SystemErr     R     at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:312)
[30.06.2016 23:58:55:508 EEST] 000000a4 SystemErr     R     at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:88)
[30.06.2016 23:58:55:508 EEST] 000000a4 SystemErr     R     at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:175)
[30.06.2016 23:58:55:508 EEST] 000000a4 SystemErr     R     at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
[30.06.2016 23:58:55:508 EEST] 000000a4 SystemErr     R     at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
[30.06.2016 23:58:55:508 EEST] 000000a4 SystemErr     R     at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
[30.06.2016 23:58:55:508 EEST] 000000a4 SystemErr     R     at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
[30.06.2016 23:58:55:508 EEST] 000000a4 SystemErr     R     at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
[30.06.2016 23:58:55:508 EEST] 000000a4 SystemErr     R     at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
[30.06.2016 23:58:55:508 EEST] 000000a4 SystemErr     R     at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1862)
user3790180
  • 433
  • 5
  • 12
  • 1
    I think it is unhelpful to mark this as a duplicate. The issue is to do with injection and the UserTransaction resource not being injected properly via the @Resource annotation. This is vastly different to a simple NullPointerException because a user forgot to initialise an object reference variable in their own code. – JamesB Jun 30 '16 at 21:05
  • This is not duplicate. I don't need to initialize emf and utx in JPA project. It should be passed automatically – user3790180 Jun 30 '16 at 21:27

0 Answers0