我正在尝试在 Eclipse 上自定义 App Engine Connected Android 项目。我正在使用 Objectify 代替 JPA,并且一直在遵循Turbocharge示例来设置我的基本框架(使用 DAO 层)。
我目前正在处理 Web 方面的工作,但我无法让我的实体在开发服务器上持久存在:我的请求在 Receivers 的 onFailure() 方法上返回一个 ServerFailure 错误。但并没有真正提供任何线索说明为什么会这样(所有变量都为空)。
任何帮助将不胜感激!
这是我的入口点类:
public class Manager implements EntryPoint {
private static final Logger log = Logger.getLogger(Manager.class.getName());
private final EventBus eventBus = new SimpleEventBus();
private ManagerRequestFactory rf = GWT.create(ManagerRequestFactory.class);
@Override
public void onModuleLoad() {
GWT.setUncaughtExceptionHandler(new UncaughtExceptionHandler() {
@Override
public void onUncaughtException(Throwable e) {
log.finest("uncaught exception: ");
e.printStackTrace();
}
});
rf.initialize(eventBus);
log.setLevel(Level.FINE);
PersonRequest personRequest = rf.personRequest();
// Populate the database with sample data
PersonProxy person = personRequest.create(PersonProxy.class);
person.setFirstName("John1");
person.setLastName("Doe");
person.setEmail("jd@gmail.com");
person.setMainPhone("215-555-1212");
personRequest.saveAndReturn(person).fire(new Receiver<PersonProxy>(){
@Override
public void onSuccess(PersonProxy response) {
log.info("got response: " + response.getFirstName());
}
@Override
public void onFailure(ServerFailure error) {
log.info("Server Failure type: " + error.getExceptionType());
log.info("Failure message: " + error.getMessage());
log.info("Stack Trace: " + error.getStackTraceString());
log.info(error.isFatal() ? "error is fatal" : "error is not fatal");
super.onFailure(error);
}
});
我在调试模式下通过堆栈跟踪代码,直到它返回错误。这是堆栈
守护进程线程 [Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75 Safari/535.7 上http://127.0.0.1:8888/manager/hosted 的管理器代码服务器。 html?manager @d6:JVCMo.q:W,$wW] (暂停(异常 UmbrellaException))
AbstractRequestContext$StandardPayloadDialect.processPayload(Receiver<Void>, String) line: 387
AbstractRequestContext$5.onTransportSuccess(String) line: 1108
DefaultRequestTransport$1.onResponseReceived(Request, Response) line: 136
Request.fireOnResponseReceived(RequestCallback) line: 287
RequestBuilder$1.onReadyStateChange(XMLHttpRequest) line: 395
NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]
NativeMethodAccessorImpl.invoke(Object, Object[]) line: not available
DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: not available
Method.invoke(Object, Object...) line: not available
MethodAdaptor.invoke(Object, Object...) line: 103
MethodDispatch.invoke(JsValue, JsValue[], JsValue) line: 71
OophmSessionHandler.invoke(BrowserChannelServer, BrowserChannel$Value, int, BrowserChannel$Value[]) line: 172
BrowserChannelServer.reactToMessagesWhileWaitingForReturn(BrowserChannelServer$SessionHandlerServer) line: 337
BrowserChannelServer.invokeJavascript(CompilingClassLoader, JsValueOOPHM, String, JsValueOOPHM[], JsValueOOPHM) line: 218
ModuleSpaceOOPHM.doInvoke(String, Object, Class<?>[], Object[]) line: 136
ModuleSpaceOOPHM(ModuleSpace).invokeNative(String, Object, Class<?>[], Object[]) line: 561
ModuleSpaceOOPHM(ModuleSpace).invokeNativeObject(String, Object, Class<?>[], Object[]) line: 269
JavaScriptHost.invokeNativeObject(String, Object, Class<?>[], Object[]) line: 91
Impl.apply(Object, Object, Object) line: not available
Impl.entry0(Object, Object, Object) line: 213
NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]
NativeMethodAccessorImpl.invoke(Object, Object[]) line: not available
DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: not available
Method.invoke(Object, Object...) line: not available
MethodAdaptor.invoke(Object, Object...) line: 103
MethodDispatch.invoke(JsValue, JsValue[], JsValue) line: 71
OophmSessionHandler.invoke(BrowserChannelServer, BrowserChannel$Value, int, BrowserChannel$Value[]) line: 172
BrowserChannelServer.reactToMessages(BrowserChannelServer$SessionHandlerServer) line: 292
BrowserChannelServer.processConnection() line: 546
BrowserChannelServer.run() line: 363
Thread.run() line: not available
在这里,我有响应和错误变量的快照:
response ResponseMessageAutoBean$1 (id=566)
this$0 ResponseMessageAutoBean (id=581)
data JsonSplittable (id=583)
array null
bool null
isNull false
number null
obj JSONObject (id=597)
reified HashMap<K,V> (id=598)
string null
factory MessageFactoryImpl (id=584)
creatorMap JavaScriptObject$ (id=608)
enumToStringMap HashMap<K,V> (id=609)
stringsToEnumsMap HashMap<K,V> (id=610)
frozen false
shim ResponseMessageAutoBean$1 (id=566)
this$0 ResponseMessageAutoBean (id=581)
data JsonSplittable (id=583)
factory MessageFactoryImpl (id=584)
frozen false
shim ResponseMessageAutoBean$1 (id=566)
tags null
usingSimplePeer true
wrapped ResponseMessageAutoBean$2 (id=587)
tags null
usingSimplePeer true
wrapped ResponseMessageAutoBean$2 (id=587)
causes HashSet<E> (id=570)
[0] RuntimeException (id=576)
cause RuntimeException (id=576)
detailMessage "Server Error: null" (id=579)
stackTrace null