JavaとFlex/AIRをつなぐ「炎」のオープンソース
Tomcatを使ったサーバPushもできるBlazeDSとは?
クラスメソッド株式会社
友田 翼
2007/12/27
FlexからJavaメソッドを操作する
まずは、Sample3からです。Sample3を開くと、データグリッドと「Get Data」と書かれたボタンが配置されたアプリケーションが実行されます。このボタンを押下すると、一覧にサンプルのデータが表示されます。
図2 Sample3の実行例 |
このアプリケーションではリモーティングの機能である「RemoteObject」というFlexのクラスを使用しています。MXMLのソースは以下のようになっています。
<mx:RemoteObject id="srv" destination="product"/> |
RemoteObjectタグで「product」と名付けられたJavaオブジェクトにアクセスするためのオブジェクトを作っています。Buttonのclickイベントで、そのオブジェクトが持っている「getProducts」というメソッドをリモートコールしています。
そして、その結果をDataGridのdataProviderにバインドするようにしています。これがRemoteObjectを使用した場合の基本的なリモートコールの仕方です。
また、「product」という名前と対応するJavaクラスのマッピングは「WEB-INF\flex\remoting-config.xml」に設定されています。
<destination id="product"> |
この場合は、「flex.samples.product.ProductService」というJavaのクラスを指していることになります。ですので、ボタンをクリックしたらJavaクラスであるProductServiceにあるgetProductsメソッドを実行しその結果を一覧に表示することが可能になります。
サーバからのプッシュを実現
次に、Sample6です。Sample6はサーバからのプッシュを受けて表示データを更新するアプリケーションです。
アプリケーションを起動すると、「Subscrive〜」と表示されたボタンと「Unsubscribe〜」と表示されたボタンに、テキスト入力欄が配置されています。「feed」のプッシュをスタートさせている状態で「Subscribe〜」ボタンを押下すると、次々とテキスト入力欄に表示される数値が変わるはずです。
図3 Sample6の使用例(1) |
また、「Unsubscribe〜」ボタンを押下すると、テキスト入力欄の表示更新が停止します。
図4 Sample6の使用例(2) |
サーバからプッシュされるメッセージを受信するには、「Consumer」というFlexのクラスを使用しています。
<mx:Consumer id="consumer" destination="feed" |
メッセージを受け取るための受信先をdestinationに指定し、メッセージを受け取った際の動作をmessageイベントに設定しています。
このサンプルでは、messageイベントにmessageHandlerメソッドの実行が指定されています。このmessageHandlerメソッドは、以下のようになっていて、「pushedValue」というidが付けられたTextInputのtextプロパティを書き換えるようになっています。
private function messageHandler(message:IMessage):void{ |
ですので、サーバからプッシュされるメッセージを受けるたびにTextInput内に表示されるテキストが変わるということになります。
また、指定しているdestination自体の設定は「WEB-INF\flex\messaging-config.xml」に定義してあります。
さらに次ページでは、チャットアプリケーションのサンプルとBlazeDSを使うのに便利なツールについて解説します。
1-2-3 |
INDEX | ||
JavaとFlex/AIRをつなぐ「炎」のオープンソース | ||
Page1 「炎のデータ・サービス」? BlazeDSとは何なのか? 論より証拠! BlazeDSを使ってみよう |
||
Page2 FlexからJavaメソッドを操作する サーバからのプッシュを実現 |
||
Page3 Flexのチャットアプリケーション 開発に便利なツール「blazeds-console」 BlazeDSやLCDSは今後、どうなる? |
- GASで棒、円、折れ線など各種グラフを作成、変更、削除するための基本 (2017/7/12)
資料を作る際に、「グラフ」は必要不可欠な存在だ。今回は、「グラフの新規作成」「グラフの変更」「グラフの削除」について解説する - GET/POSTでフォームから送信された値をPHPで受け取る「定義済みの変数」【更新】 (2017/7/10)
HTMLのフォーム機能についておさらいし、get/postメソッドなどの内容を連想配列で格納するPHPの「定義済みの変数」の中身や、フォーム送信値の取り扱いにおける注意点について解説します【PHP 7.1含め2017年の情報に合うように更新】 - PHPのfor文&ループ脱出のbreak/スキップのcontinue【更新】 (2017/6/26)
素数判定のロジックからbreak文やcontinue文の利点と使い方を解説。for文を使ったループ処理の基本とwhile文との違い、無限ループなども併せて紹介します【PHP 7.1含め2017年の情報に合うように更新】 - Spreadsheetデータの選択、削除、挿入、コピー、移動、ソート (2017/6/12)
Spreadsheetデータの選択、挿入、削除、コピー、移動、ソートに使うメソッドの使い方などを解説する
|
|