Home > Adobe Flex > どのリクエストに対するレスポンス?

どのリクエストに対するレスポンス?

  • Posted by: hirossy
  • 2008年3月12日 23:57
  • Adobe Flex
RemoteObjectでサーバーにリクエストすると

resultEventやfaultEventに非同期で応答が
帰ってくる。



(ほぼ同時に)複数の同一メソッドにリクエストすると

どのリクエストに対するレスポンス(resultEvent or faultEvent)なのかわからなくなってしまう。



そんなときは


リクエスト送信時のInvokeEventをとって(Listenして)

InvokeEventの

token.message.messageId

をどこかに保持しておいて、

ResultEvent(またはFaultEvent)の

token.message.messageId

とを照合するとどのリクエストに対するresultEvent(またはfaultEvent)なのかがわかる。


よな?


Comments:9

arkw 2008年3月13日 02:54

サービス呼び出しの返り値であるtokenにレンスポンダをセットしてやれば、
そのサービス呼び出しの専用レスポンダになるので、これ利用するのもOK

hirossy 2008年3月13日 08:42

arkwさんこんばんは

abstractOperation.send()の戻り値AsyncTokenに対してaddResponder()するってことすね。
やってみますす

nobu 2008年3月13日 13:20

AsyncTokenを使う方法はDoltengのAbstractPage.asのremoteCallメソッドがモロです。
もう実装済みかもしれませんが(滝汗

Anonymous 2008年3月13日 14:15

>DoltengのAbstractPage.as

お!
AbstractPage.asって何ですか何ですか??
見たい見たい!!
どうすれば見れますか?

nobu 2008年3月13日 16:46

> Anonymousさん

あら?hirossyさんじゃないですよね?
AbstractPage.asはDoltengで、"S2Flex2+S2Dao"で作成したプロジェクトで、mxmlで右クリック「Dolteng」-
「Create ActionScript Page」としたときに、src/main/flex//webの下に作成されるASクラス
です。Doltengがサブアプリケーションに作成しているxxxxxPage.asというクラスはこのクラスのサブクラスとして
生成されます。

hirossy 2008年3月13日 17:46

nobuさん

今更ですが

いま初めて[S2Flex2+S2Dao]しました。


すんごいんですね

Dolteng


asクラスまで生成してくれるんすね

全く知らなかったす


S2Daoんときぐらいの衝撃をいま受けてます...


Doltengやっぱすげー

nobu 2008年3月13日 18:20

あ、そうか。hirossyさんはかーんごーん使ってましたね。S2Flex2+S2Dao使ってるとばかり思ってました。
そうなんです。ASクラス作ってくれるんですよ。
Javaの部分はご存知でしょうからAS部分だけでいうと、

・MXMLからServiceクラスのモックを作成してくれる(Interface+Class実体)
・JavaBeansからASのクラスを作成してくれる。(Entityクラス、DTOクラス)
・S2Flex2Serviceを右クリックでmxmlに追加してくれる。
・Pageクラスの生成(TeedaのPageクラスと同等のものらしい)

で、Pageクラスは各mxml毎に作ることになるのですが、そのスーパークラスにAbstractPage.asというクラス
がいます。こいつが、mxml上のコンポとPageクラスのイベントハンドラ(メソッド)の自動関連付けと、remoteCall
メソッドというAsyncTokenを使用したJavaServiceCallの手段を提供してくれます。

っていうことで、Doltengすごいんです。Flex+Java(Seasar2)のプロジェクトで超効率叩き出せるのは、Dolteng
のおかげだと思っています。

hirossy 2008年3月14日 19:19

結局ResponderをAsyncTokenに突っ込む形で作りました。

Neil 2008年4月 3日 19:21

Looks perfectly straight to me. Of course, I'm also the type of person who allegedly [ahem! allegedly] agree with everything.

Home > Adobe Flex > どのリクエストに対するレスポンス?

HIROSSY BLOG
Feeds

Return to page top