この質問が少し明白な場合は申し訳ありませんが、私はBlazeDSを初めて使用しており、答えが見つからないようです。 Flexフロントエンドを搭載したBlazeDSサーバーでJavaを実行しています。私はJavaクラスを一度しかインスタンス化することはできません。そして、Flexはsetterとgetterを使ってJavaクラスのデータを再生します(ある意味では、RemoteObjectをクラスのインスタンスのように扱います) )。私が読んだ限りでは、BlazeDSの仕組みと思われますが、Flexから任意のJavaメソッドを呼び出すたびに、Javaコンストラクタを再度呼び出して、setterメソッドによって入力されたものをすべてリセットします。メソッド呼び出しの間にサーバーがJavaクラスのインスタンスを保持する方法はありますか?ありがとう!BlazeDS、Flex、およびJava - RemoteObjectをJavaクラスのインスタンスのように扱うことはできますか?
答えて
これがどのように機能しているのか誤解しているようです。
Flexクライアントのオブジェクトとサーバーのオブジェクトは完全に独立しています。通常、Flash Player/A Flex Appは、WebSerice、HTTPService、RemoteObjectのいずれかを使用してリモートサービスと通信します。 RemoteObjectは、BlazeDS、LiveCycle Data Services、ColdFusion、その他のサーバーサイドソフトウェアを含むAMFおよびFlash Remotingをサポートしています。
サーバーへのリモート呼び出しを行う場合、その要求は標準のWebページ呼び出しと同じです。これは「分離」に存在し、他の呼び出しについては何も知らない。伝統的なHTML開発では、セッションクッキーを使用して、「ステートレス」クライアントでサーバーセッションを追跡します。 Flexコールでも同じことが言えます。サーバーがクッキーをクライアントに設定している場合。 Flash Playerは各リクエストにこれらのクッキーを含めます。サーバ側のセッションにサービスコールを照合します。
各呼び出しでオブジェクトを作成するかどうかは、リモート呼び出しが何を行うかによって異なります。
AMF/RemoteObjectが提供する利点は、サーバーサイドオブジェクト(Javaクラス)をクライアントサイドオブジェクト(ActionSCriptクラス)に簡単に変換できることです。これは、主に2つの異なるエンティティ間でデータを渡すために使用されます。通常、人々はこのためにバリューオブジェクト/データ転送オブジェクトを作成します。クラスは同じ正確な機能を持つことができます。 FlexとJavaの両方に同じオブジェクトが存在するようなものではありません。
これは役に立ちますか?
ああありがとうございます。私は怠け者で、私のJavaクラスを投げて、同じように動作させることができればと願っていました。レッスンをありがとう。非常に簡潔に "私は他の場所で見つけることができなかった方法でこの作品"の質問に答えた。 – Greg
喜んで支援する – JeffryHouser