2011-07-02 39 views
2

我在运行我的GWT应用程序时遇到了错误。调度传入的RPC调用时出现异常 - GWT

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; 
    } 
} 

显示我的错误如下:

[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)

回答

0

它看起来像GWT是不是期待您的服务器端失败,“Java的.lang.OutOfMemoryError:PermGen“,这通常发生在您的服务器JVM没有足够内存来将JIT编译到类中时。

(使用-XX:MaxPermSize = 128m来增加Perm空间的大小)。

0
在第二行

你宣布private Class<T> persistentClass;

,以后你使用的是以下行

query = pm.newQuery(persistentClass); [Error Line] 

你在哪里intializing那?

persistentClass = ?