[Java][Flex]BlazeDSでFlexとJavaを通信させる必要最低限の設定

| コメント(0) | トラックバック(0)
タイトル通りBlazeDSでFlexとJavaを通信させる最小限の設定(だと思う)

~Java側の設定~
①まず、AdobeのBlazeDSのページからライブラリをダウンロード

②これを展開し、以下の4つをjavaのWEB-INF/libにつっこむ
・backport-util-concurrent.jar
・flex-messaging-common.jar
・flex-messaging-core.jar
・flex-messaging-remoting.jar

③Blaze用の設定ファイルをWEB-INF/flex/services-config.xmlに作成
メモ:flexっていうフォルダは自分で作る!!

説明のため、hogeパッケージのFooクラスにflexからアクセスする為のメソッドを起き、
名前を、hogehogeと名づけ、http://www.example.com/BlazeTest/
でアクセスすると仮定すると、(blazeTestはTomcatで設定)

内容は、


ここで重要なのは15行目と19行目だけ

15行目のは、flex側の設定で出てくる。
19行目のは、flexから呼ばれるJavaクラスを登録する。Java Beansって書いてあるけど、呼び出したいメソッドのJavaクラスのことだと思う。HttpServletを継承する必要はない。
引数、戻り値に使うJavaBeansはここで登録しなくてもいけた。


④実際に呼びだされるJavaクラスの作成。
先ほど登録したクラスを作成。
引数、戻り値がある場合は、flex側とjava側の両方に全く同じフィールドとそのgetter,setterメソッドしか持たないBeanクラスを作る必要がある。Java側はフツーのJavaBeansで良い。ちなみに戻り値に使うクラスはSerializableをimplementsしていなければならない。

説明のため、barメソッドを呼び出すとする



⑤④の設定ファイルを読み込むようにweb.xmlに追加
WEB-INF/web.xmlに以下の内容を追加する。




~Flex側での設定~
①mxmlにdestinationを指定
mxml内にremoteObjectを書く

ここでlocalhost:8080は自分の環境に合わせて変更し、destinationはJava側で設定した↑の15行目の文字列が入る。

②通信開始を呼ぶメソッドを書く
ASのfunction内でもmxmlのclickとかchangeでもいいけど、そこで
srv.bar()と書けば通信してくれる。引数がある場合はもちろんここにいれる。
戻り値は、srv.bar.lastResultで取得できるが、この通信は非同期で行われるので、ASのfuncrion内でこのメソッドを呼んでも、通信が終わる前に次の行が処理されてしまうので注意。

受信が完了した時に、barResultというfunctionを呼んで処理をしたい場合は、①のRemoteObjectを以下のように変更する。

nameには、java側の呼び出すメソッド名、resultには、受信後にflex側で呼び出すfunctionを指定してやる。

③Flex側でもBeansを作成
通信で扱う変数は、Beanに格納しなければならない。(ただし、戻り値のStringの場合は必要ない)
また、FlexとJava側で作成したBeansを関連関連付けるため、AS側のBeanクラスのpublic classの前の行に
[RemoteClass(alias="hoge.FooBeans")]などとJavaBeansのパッケージ名を含んでクラスを教えてあげなければならない。
戻り値に使う場合はもちろん[Bindable]も必要




たぶん、これでいくはず


<参考>
Adobe - Developer Center
Adobe BlazeDSを自分のWebアプリケーションに組み込む設定

トラックバック(0)

トラックバックURL: http://blog.isocchi.com/MovableType/mt-tb.cgi/250

コメントする

このブログ記事について

このページは、isocchiが2008年4月 7日 15:00に書いたブログ記事です。

ひとつ前のブログ記事は「[Linux]Tomcatとapacheを連携する」です。

次のブログ記事は「[Java] JavaからAD認証が必要な共有ファイルにアクセスする」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

ウェブページ

Powered by Movable Type 5.0