Exception while dispatching incoming RPC call – GWT

gwt

I am facing an error while running my GWT application.

public abstract class BaseDAOImpl<T> implements BaseDAO<T> {

    private Class<T> persistentClass;
@Override
    public List<T> findAll() {
        PersistenceManager pm = PMF.get().getPersistenceManager();
        List<T> results = null;
        Query query = null;
        try{
            query = pm.newQuery(persistentClass); [Error Line]
            results = (List<T>) query.execute();
            results = (List<T>) pm.detachCopyAll(results);
        }finally{
            pm.close();
        }
        return results;
    }
}

Showing me Error as following:

[ERROR] javax.servlet.ServletContext
log: Exception while dispatching
incoming RPC call
com.google.gwt.user.server.rpc.UnexpectedException:
Service method 'public abstract
java.util.List
com.aamjanta.webapp.client.service.StoreService.getStoreList()'
threw an unexpected exception:
java.lang.OutOfMemoryError: PermGen
space at
com.google.gwt.user.server.rpc.RPC.encodeResponseForFailure(RPC.java:385)
at
com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:588)
at
com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:208)
at
com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:248)
at
com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)
at
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166)


[ERROR] javax.servlet.ServletContext
log: Exception while dispatching
incoming RPC call
com.google.gwt.user.server.rpc.UnexpectedException:
Service method 'public abstract
java.util.List
com.aamjanta.webapp.client.service.StoreService.getStoreList()'
threw an unexpected exception:
java.lang.NoClassDefFoundError: Could
not initialize class
org.datanucleus.store.appengine.jdo.DatastoreJDOMetaDataManager
at
com.google.gwt.user.server.rpc.RPC.encodeResponseForFailure(RPC.java:385)
at
com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:588)
at
com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:208)
at
com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:248)
at
com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)
at
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)


[ERROR] javax.servlet.ServletContext
log: Exception while dispatching
incoming RPC call
com.google.gwt.user.server.rpc.UnexpectedException:
Service method 'public abstract
java.util.List
com.aamjanta.webapp.client.service.CouponService.getCouponList()'
threw an unexpected exception:
java.lang.NoClassDefFoundError: Could
not initialize class
org.datanucleus.store.appengine.jdo.DatastoreJDOMetaDataManager
at
com.google.gwt.user.server.rpc.RPC.encodeResponseForFailure(RPC.java:385)
at
com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:588)
at
com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:208)
at
com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:248)
at
com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)
at
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

Best Answer

It looks like GWT isn't expecting your server side to fail with "java.lang.OutOfMemoryError: PermGen", which usually happens when your server JVM doesn't have enough memory to JIT-compile classes into.

(Use -XX:MaxPermSize=128m to increase the size of the Perm space).

Related Topic