2011-08-05 27 views
2

我一直在探索這個問題大約一個星期左右,現在還沒有找到任何東西。我正在構建一個GWT,Hibernate和Gilead的應用程序,並且我試圖從數據庫中加載一個LightEntity對象列表的rpc調用。這個調用非常完美,直到我對rpc接口進行了最小改動 - 我添加了一個deleteLightEntity方法。然後,我開始收到此錯誤:是否有任何其他可能的原因獲得GWT序列化策略異常?

Type 'com.blah.shared.DomainObject' was not included in the set of types which can be 
serialized by this SerializationPolicy or its Class object could not be loaded. For 
security purposes, this type will not be serialized." 

...這是通常的特徵是沒有一個無參數的構造函數,或者可能不實現SerializableIsSerializable對象。除了我的DomainObject都行。在我將此方法添加到rpc之前,它們都正常工作。我甚至嘗試刪除我添加和重新編譯的方法,但它似乎不起作用。我也手動刪除了生成的.gwt.rpc文件,並清除了我的瀏覽器緩存。如果任何人有任何想法,這可能是造成這些麻煩,我會很高興聽到它:)

回答

2

如果你的類實現Serializable(而不是IsSerializable),它只會被包含在序列化的政策,如果它被引用在RPC界面中,請檢查。 如果你有一個不參考該課程的理由,你可以使用this workaround。另外,由於錯誤提到類別DomainObject,我認爲它是你的全球超類,所以我會嘗試使它實現SerializableIsSerializable(除了它的子類)。

如果您向我們展示一些源代碼,它也將有所幫助。

+0

:)這是非常有益的,謝謝 - 即「Serializable」和「IsSerializable」之間的區別;我不知道。我最終做的是創建一個包含我的所有'DomainObject'的類(不是超類,我只是有一堆不同的域對象,幾乎只是POJO,所以我不覺得需要包含任何源代碼)作爲字段,然後讓該類實現'IsSerializable'而不是'Serializable'。再次感謝! – Kris

相關問題