我正在使用LCDS和Flex。 當我從java發送一個對象到Flex時,我不想發送所有的屬性。據我所知,如果你不想序列化一個變量瞬變。Flex blazeds/lcd AMF序列化用於瞬態變量
例如。
private transient Date birthDate;
public Date getBirthDate(){
return birthDate;
}
public void setBirthDate(Date val){
birthDate = val;
//Some code here.
}
現在序列化的對象不應該有birthDate。但是,當我看到AMF日誌時,該對象具有帶有值的birthDate。
序列化是否會查看代碼並檢查私有變量是否是瞬態的(我不明白它是如何訪問私有屬性的,我有點困惑)
我應該將變量標記爲public。然後getter和setter是沒有意義的,而且我用setter方法編寫了一些代碼。所以我需要二傳手。
問題:
我在一本書(企業柔性與腦Telintelo,第15章BlazeDS的),其開箱的BlazeDS的只序列具有匹配的getter和setter的Fileds閱讀。如果情況如此,那麼布澤茲甚至會麻煩地將私人財產視爲暫時的。
可一些身體請解釋正常serializtion(不AMF serializtion)是如何發生的,並跟蹤私人瞬態變量,即使他們有公共getter和setter方法。
如何在Flex/LCDS/BlazeDS環境中使java變量不能序列化。
我在對象中有50-60個變量,4或5個varibales不應該被調用。所以在如此大的對象中寫入custion Serializer是一件很痛苦的事情。我看到的另一個缺點是,如果我編寫自己的序列化程序,hibernate將無法使用此對象。
是的,在LCDS/BlazeDS的自定義序列化是可能的,而且很容易。我正準備發佈相同的FlexPasta示例(您打敗了我)。 –