LCDS と Flex を使用しています。Java から Flex にオブジェクトを送信するときに、すべてのプロパティを送信したくありません。私の知る限り、シリアライズしたくない場合は、変数をトランジェントにします。
例えば。
private transient Date birthDate;
public Date getBirthDate(){
return birthDate;
}
public void setBirthDate(Date val){
birthDate = val;
//Some code here.
}
これで、シリアル化されたオブジェクトに生年月日が含まれなくなりました。しかし、AMF ログを見ると、オブジェクトには生年月日と値が含まれています。
シリアライゼーションはコードを調べて、プライベート変数が一時的であることを確認しますか? (プライベート プロパティにアクセスする方法がわかりません。少し混乱しています。)
変数をパブリックとしてマークする必要がありますか。ゲッターとセッターは意味がなく、さらにセッターメソッドでいくつかのコードを記述します。なのでセッターが必要です。
質問:
私は本 (Brain Telintelo による blazed を使用したエンタープライズ フレックス、第 15 章) を読みました。この場合、blazeds はわざわざ私有財産を一時的なものとしてチェックすることさえあります。
通常のシリアライゼーション ( amf シリアライゼーションではない) がどのように行われ、パブリックなゲッターとセッターがあるにもかかわらず、プライベートな一時変数を追跡するかを説明してください。
Flex/LCDS/BlazeDS 環境で Java 変数をシリアライズしないようにするにはどうすればよいですか。
オブジェクトに 50 ~ 60 個の変数があり、4 ~ 5 個の変数をシリアライズしないでください。そのため、このような大きなオブジェクトに custion Serializer を記述するのは非常に面倒です。そして、私が見るもう1つの欠点は、独自のシリアライザーを作成すると、休止状態がこのオブジェクトを使用できないことです。