我在运行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;
}
}
显示错误如下:
[错误] javax.servlet.ServletContext log:调度时出现异常 传入的RPC调用 com.google.gwt.user.server.rpc.UnexpectedException: 服务方法'公共摘要 java.util.List中 com.aamjanta.webapp.client.service.StoreService.getStoreList()” 抛出意外的异常: java.lang.OutOfMemoryError:PermGen 空间 com.google.gwt.user.server.rpc.RPC.encodeResponseForFailure(RPC.java:385) 在 com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:588) 在 com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:208) 在 com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:248) 在 com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:637) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 在 org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511) 在 org.mortbay.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1166)
[错误] javax.servlet.ServletContext log:调度时出现异常 传入的RPC调用 com.google.gwt.user.server.rpc.UnexpectedException: 服务方法'公共摘要 java.util.List中 com.aamjanta.webapp.client.service.StoreService.getStoreList()” 抛出意外的异常: java.lang.NoClassDefFoundError:可以 没有初始化类 org.datanucleus.store.appengine.jdo.DatastoreJDOMetaDataManager 在 com.google.gwt.user.server.rpc.RPC.encodeResponseForFailure(RPC.java:385) 在 com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:588) 在 com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:208) 在 com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:248) 在 com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:637) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
[错误] javax.servlet.ServletContext log:调度时出现异常 传入的RPC调用 com.google.gwt.user.server.rpc.UnexpectedException: 服务方法'公共摘要 java.util.List中 com.aamjanta.webapp.client.service.CouponService.getCouponList()” 抛出意外的异常: java.lang.NoClassDefFoundError:可以 没有初始化类 org.datanucleus.store.appengine.jdo.DatastoreJDOMetaDataManager 在 com.google.gwt.user.server.rpc.RPC.encodeResponseForFailure(RPC.java:385) 在 com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:588) 在 com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:208) 在 com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:248) 在 com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:637) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
答案 0 :(得分:0)
看起来GWT并不期望您的服务器端失败并出现“java.lang.OutOfMemoryError:PermGen”,这通常发生在您的服务器JVM没有足够的内存来将JIT编译成类时。
(使用-XX:MaxPermSize = 128m来增加Perm空间的大小)。
答案 1 :(得分:0)
在第二行中您声明了private Class<T> persistentClass;
以后你在下面的行中使用
query = pm.newQuery(persistentClass); [Error Line]
你正在初衷那个??
persistentClass = ?