2011-05-17 60 views
0

我看了一下Google IO gwtgae2011的例子,並讓它工作。我嘗試一些功能添加到項目中,並不斷地從服務器獲取異常(被調用onFailure處法)和堆棧跟蹤是使用RequestFactory和Objectify時出現了一個奇怪的例外

19:47:36.070 [ERROR] [crowd] Uncaught exception escaped 
com.google.web.bindery.event.shared.UmbrellaException: One or more exceptions caught, see full set in UmbrellaException#getCauses 
at com.google.web.bindery.requestfactory.shared.impl.AbstractRequestContext$StandardPayloadDialect.processPayload(AbstractRequestContext.java:299) 
at com.google.web.bindery.requestfactory.shared.impl.AbstractRequestContext$4.onTransportSuccess(AbstractRequestContext.java:951) 
at com.google.web.bindery.requestfactory.gwt.client.DefaultRequestTransport$1.onResponseReceived(DefaultRequestTransport.java:136) 
at com.google.gwt.http.client.Request.fireOnResponseReceived(Request.java:287) 
at com.google.gwt.http.client.RequestBuilder$1.onReadyStateChange(RequestBuilder.java:395) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
......stacktrace 

Caused by: java.lang.RuntimeException: Server Error: No class 'com.trial.gwtgae.server.domain.Sketch2' was registered 
at com.google.web.bindery.requestfactory.shared.Receiver.onFailure(Receiver.java:36) 
at com.google.web.bindery.requestfactory.shared.impl.AbstractRequest.onFail(AbstractRequest.java:113) 
at com.google.web.bindery.requestfactory.shared.impl.AbstractRequestContext$StandardPayloadDialect.processPayload(AbstractRequestContext.java:271) 
at com.google.web.bindery.requestfactory.shared.impl.AbstractRequestContext$4.onTransportSuccess(AbstractRequestContext.java:951) 
at com.google.web.bindery.requestfactory.gwt.client.DefaultRequestTransport$1.onResponseReceived(DefaultRequestTransport.java:136) 
at com.google.gwt.http.client.Request.fireOnResponseReceived(Request.java:287) 
at com.google.gwt.http.client.RequestBuilder$1.onReadyStateChange(RequestBuilder.java:395) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
at java.lang.reflect.Method.invoke(Unknown Source) 
at com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103) 
...more stacktrace 

我創建了一個叫做草圖類素描的精確克隆,創造SketchDao,SketchProxy的克隆, SqetchRequest在我的RequestFactory接口中。

無論如何拋出異常。 (我試圖重新編譯,重新啓動,清理生成的文件,嘗試使用IDEA - 同樣的問題) 任何想法,爲什麼會發生這種情況?

+0

嘗試查看由異常拋出的行號。當你有一些愚蠢的錯誤,比如當你嘗試向一個很小的網格添加一行時,這個異常經常被拋出。也許你輸入了錯誤的東西? – 2011-05-17 18:14:20

+0

在例外中沒有我的代碼行。每個克隆與原始的Sketch類都在同一個包中。 – Tala 2011-05-18 07:10:41

回答

1

您必須註冊要與物品化一起使用的課程。類似這樣的:

factory.register(com.trial.gwtgae.server.domain.Sketch2.class); 
+0

我沒有發現任何關於註冊班級到工廠。 RequestFactory沒有稱爲寄存器的方法。即使原始草圖示例也沒有註冊任何類。 – Tala 2011-05-18 07:14:02

+0

http://objectify-appengine.googlecode.com/svn/trunk/javadoc/com/googlecode/objectify/ObjectifyFactory.html#register(java.lang.Class) – 2011-05-18 07:33:17

+0

我正在談論物化。您必須註冊所有實體類。 – 2011-05-18 07:33:56